Start New Discussion within our Software Development Community
""" find taxi-cab numbers which can be expressed as sum of cubes exactly two ways """
from collections import defaultdict
n = 1000000
qubes = [y**3 for y in range(int(n**(1/3))+1)]
ramanujan = defaultdict(int)
for ind, a in enumerate(qubes):
            for b in qubes[ind:]:
                if a + b > n: break
                ramanujan[a+b] += 1
              
print(sorted(n for n in ramanujan if ramanujan[n] == 2))

Specialties:
IT/Science/Contracts/Religious translation/interpreting FIN-ENG-FIN
Python programming

In Python2 you must use for example 1./3 at line 4 or do

from __future__ import division
The article starter has earned a lot of community kudos, and such articles offer a bounty for quality replies.