(Python 2)
TOP = 100000000
a = [0]*TOP
c = []
for y in range(2, TOP/2):
if 2**y + 2 + y >= TOP: break
for x in range(2, TOP/2):
k = x**y+(x+y)
if k>=TOP: break
c.append(k)
for y in range(2, TOP/2):
if 2*y*y*y >= TOP: break
for x in range(y, TOP/2):
k = x*y*(x+y)
if k>=TOP: break
a[k]=1
for y in range(2, TOP/2):
if y*(y+2) >= TOP: break
for x in range(y, TOP/2):
k = x*y+(x+y)
if k>=TOP: break
a[k]|=2
if a[k]==3 and (k in c): print k,
print [n for n in range(TOP) if a[n]==3 and (n in c)]
|