Вот что рассказывают об индийском математике С. Рамануджане (Ramanujan, 1887-1920). Как-то раз больного математика навестил его друг-европеец. Гость пожаловался, что прибыл в кэбе с очень скучным номером, и сообщил четырехзначное число. Рамануджан ему возразил: названое число очень интересно. Это наименьшее натуральное число, которое можно представить в виде суммы кубов двух натуральных чисел не единственным способ.
Составим программу, которая бы нашла это число и напечатала бы две пары чисел, сумма кубов которых равна найденному числу. Иными словами, требуется найти найменьшее натуральное решение уравнения
$$a^{3}+b^{3}=c^{3}+d^{3},$$
причем $$a\neq c$$ и $$a\neq d.$$
Program cuba; Выполнив эту программу, ЭВМ напечатала: 1 12 9 10 1729 Значит, число, которым восхитился С. Рамануджан, было 1729, так как
$$1729=10^{3}+9^{3}=12^{3}+1^{3}.$$
var a, b,
c, d: integer;
function f (a, b:integer): integer;
begin
f:=a*a*a+b*b*b
end;
procedure novoe (a, b:integer; var c, d: integer);
var fab,
fcd,
x, y: integer;
begin
fcd:=maxint;
fab:=f(a, b);
for x:=1 to a do
begin
y:=b+1;
while fab>f(x, y) do
y:=y+1;
if f(x, y)
fcd:=f(x, y);
c:=x;
d:=y
end
end;
for x:=a+1 to b do
begin
y:=x;
while(fab>f(x, y)) and (y
y:=y+1;
if f(x, y)
fcd:=f(x, y);
c:=x;
d:=y
end
end
end;
begin
c:=1;
d:=1;
repeat
a:=c; b:=d;
novoe(a, b, c, d)
until f(a, b)=f(c, d);
writeln(a,' ' ,b,' ', c,' ', d,' ', f(a, b))
end.