Har i uppgift att göra ett litet program i Pyhton som hittar heltalslösningarna till a^3+b^3=1729
Såhär ser mitt program ut (funkade inte med indrag, därför jag har punkter istället):
def b(a):
...return (n-(a**3))**(1/3)
n = 1729
y = int(n**(1/3))+1
for a in range (y):
...x=b(a)
...if x==int(x):
......print a,x
Tanken är att göra om ekvationen till ett uttryck för b och se vad b blir för olika värden på a. När b blir ett heltal så har man funnit en lösning. A kan inte vara större än 1729^(1/3). När jag kör programmet får jag bara den sista lösningen: 12 för a och 1 för b. Varför skriver den inte ut alla lösningar? Hur får jag den att skriva ut alla lösningar? Villkoret för if-satsen, x är ett heltal, uppfylls ju för för fler a än bara det sista — testar man att ta bort if-vilkoret och printar alla a,x ser man att så är fallet.