login
Numbers k such that k+x+y is a perfect cube, where x and y are the two cubes nearest to k.
1

%I #19 Apr 11 2020 15:21:59

%S 0,29,171,476,1015,1044,1907,3142,4815,7093,9882,13313,17452,22580,

%T 28393,35118,42821,43120,51939,61874,72991,85835,99604,114759,131366,

%U 150192,170009,191482,214677,240625,267588,296477,327358,361568,396775,434178,473843,475306,517455

%N Numbers k such that k+x+y is a perfect cube, where x and y are the two cubes nearest to k.

%e The two cubes nearest to 0 are 0 and 1, and, because 0+0+1 is a perfect cube, 0 is in the sequence.

%e The two cubes nearest to 1 are 0 and 1, and, because 1+0+1=2 is not a perfect cube, 1 is not in the sequence.

%e The two cubes nearest to 29 are 27 and 8, and, because 29+27+8=64=4^3 is a perfect cube, 29 is in the sequence.

%t pcQ[n_]:=Module[{cr=Surd[n,3]},IntegerQ[Surd[Total[Nearest[Range[ Floor[ cr]-1,Ceiling[cr]+1]^3,n,2]]+n,3]]]; Select[Range[0,520000],pcQ] (* _Harvey P. Dale_, Jul 25 2018 *)

%o (Python)

%o def icbrt(a):

%o sr = 1 << (int.bit_length(int(a)) >> 1)

%o while a < sr*sr*sr: sr>>=1

%o b = sr>>1

%o while b:

%o s = sr + b

%o if a >= s*s*s: sr = s

%o b>>=1

%o return sr

%o for k in range(1000000):

%o s = icbrt(k)

%o if k and s*s*s==k: s-=1

%o d1 = abs(k-s**3)

%o d2 = abs(k-(s+1)**3)

%o d3 = abs(k-(s-1)**3)

%o kxy = k + s**3 + (s+1)**3

%o if s and d3<d2: kxy = k + s**3 + (s-1)**3

%o r = icbrt(kxy)

%o if r*r*r==kxy: print(str(k), end=',')

%o (Sage)

%o def gen_a():

%o n = 1

%o while True:

%o for t in range(n*(n*n + 3), (n+1)*(n*n + 2*n + 4) + 1):

%o c = t + (2*n + 1)*(n*n + n + 1)

%o if round(floor(c^(1/3)))^3 == c:

%o yield t

%o n += 1 # _Ralf Stephan_, Mar 09 2014

%Y Cf. A000578, A238489.

%K nonn

%O 1,2

%A _Alex Ratushnyak_, Mar 01 2014