upto(n) = {my(l=List(), res = List()); n += 2; for(i=1, sqrtnint(n,3), for(j=1, sqrtnint(n - i^3, 2), listput(l,i^3+j^2) ) ); listsort(l,1); for(i = 1, #l - 2, if(l[i] + 2 == l[i+2], listput(res, l[i]); ) ); res }