These numbers are sometimes called taxicab numbers:
. . , . , 1729, . , 1729 - , . , 10 3 + 9 3 = 12 3 + 1 3= 1729.
x y, , 0 n, x y. x = 0 y n, : x 3 + y 3 n, x, x 3 + y 3 > n, y x 3 + y 3= n, :
function taxicab(n)
x, y = 0, cbrt(n)
while x <= y:
s = x*x*x + y*y*y
if s < n then x = x + 1
else if n < s then y = y - 1
else output x, y
x, y = x + 1, y - 1
100000:
1729: ((1 12) (9 10))
4104: ((2 16) (9 15))
13832: ((2 24) (18 20))
20683: ((10 27) (19 24))
32832: ((4 32) (18 30))
39312: ((2 34) (15 33))
40033: ((9 34) (16 33))
46683: ((3 36) (27 30))
64232: ((17 39) (26 36))
65728: ((12 40) (31 33))
.