Требуется составить программу для решения этого уравнения в натуральных числах.
Эта программа естественно не будет искать очевидные решения типа:
где n - натуральное число
Кроме того, поскольку x и y входят в уравнения симметрично, то
симметричные решения будут рассматриваться как одно (по умолчанию будем полагать, что y не меньше x)
Программа может выглядеть так
Код: Выбрать все
DEFLNG R, X-Z
DEFDBL D
CLS
FOR z=10 TO 1290
y0=INT(z/1.26)
FOR y=y0 TO z-1
dx=(z^3-y^3)^0.333333333333333#
x=INT(dx+0.5)
IF ABS(x-dx)<0.01 THEN r=x^3+y^3-z^3-1 IF r=0 THEN PRINT "x=";x;"y=";y;"z=";z END IF NEXT yNEXT zSTOPEND
Эта программа находит несколько решений, но далее
наступает переполнение. Это и понятно, кубы чисел
очень быстро растут. И здесь приходит мысль использовать
для решения этого уравнения теорию сравнений.
необходимая информация из этой теории:
пусть a - натуральное число и p - простое число
пусть также a<p и , то a=0
2)
пусть - простые числа
и a в общем случае больше любого из заданных простых чисел, но
и
. . . . . . . . . . . . . . . .
отсюда следует, что
и что a=0 !!
Теперь мы можем спокойно производить вычисления по модулю и переполнения не будет
примечание:
для контроля программы я все же частично решил
это уравнение и нашел еще одно бесконечное
множество решений. Вот оно:
где n - натуральное число (впрочем n может быть любым действительным числом)