Doherty Andrade
G. H. Hardy relatou como se deparou com a singularidade do número 1729 e o quanto Ramanjan conhecia a respeito deste número.
"EU Lembro-me de ir vê-lo uma vez quando ele estava doente em Putney. Eu havia pegado o táxi número 1729 e observei que o número me parecia um tanto enfadonho e que esperava que não fosse um presságio desfavorável. “Não”, Ramanujan respondeu, “é um número muito interessante; é o menor número que pode ser representado como a soma de dois cubos de duas maneiras diferentes. ” - GH Hardy (1918)
As duas maneiras diferentes que expressam 1729 como a soma de dois cubos são:$$ 1³ + 12³$$ e $$9³ + 10³.$$ O número tornou-se conhecido como o número de Ramanujan, também chamado "número de táxi". Número de táxi é o número que pode ser expresso como a soma de dois cubos de $n\geq 2$ maneiras distintas.
Além de 1729, outros inteiros podem ser representados como somas de cubos: $$1^3 + 103^3 = 64^3 + 94^3 = 1092728$$ $$ 1^3 + 150^3 = 73^3 + 144^3 = 3375001.$$
Números expressos como soma de cubos foram mencionados pela primeira vez em 1657 por Bernard Frénicle de Bessy, que descreveu a propriedade citando como exemplo o número 1729 em suas correspondências com John Wallis e Pierre de Fermat. Em 1938, Hardy e EM Wright provaram que tais números existem.
O seguinte procedimento em Python determina os pares de números $x,y $ e $a,b$ menores do que $N$ fornecido que expressam um número como soma de dois cubos de pelo menos duas maneiras diferentes. Isto é: $$ x^3+y^3= N= a^3 +b^3.$$ O tempo de execução é longo, sugiremos tomar $N=20$, para rodar um exemplo.
Veja o exemplo com $N=20$.
def Taxi():
N = int(input("Entre com o número N: "))
for x in range(1, N):
for y in range(1, N):
for a in range(1, N):
for b in range(1, N):
if b * b * b + a * a * a == x * x * x + y * y * y :
if (b == a) or (b == y) or (b == x) or (a == y) or (a == x) or (y == x):
continue
else:
print( "x=" , x)
print ("y=", y)
print ("a=", a)
print ("b=", b)
print('O número é:', a * a * a + b * b * b )
Taxi()
Propriedade semelhante vale para potência 4.
O seguinte procedimento em Python determina os pares de números $x,y $ e $a,b$ menores do que $N$ fornecido que expressam um número como soma de dois inteiros na quarta potência de pelo menos duas maneiras diferentes. Isto é: $$ x^4+y^4= N= a^4 +b^4.$$
Veja o exemplo, abaixo com $N=200$.
# taxi4
def Taxi4():
N = int(input("Entre com o número N: "))
for x in range(1, N):
for y in range(1, N):
for a in range(1, N):
for b in range(1, N):
if b * b * b * b + a * a * a *a == x * x * x * x + y * y * y * y:
if (b == a) or (b == y) or (b == x) or (a == y) or (a == x) or (y == x):
continue
else:
print( "x=" , x)
print ("y=", y)
print ("a=", a)
print ("b=", b)
print('O número é:', a * a * a * a + b * b * b * b )
Taxi4()