```
""" 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))
```

About the Author

*Edited 5 Years Ago by pyTony*: n/a