cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A252487 Smallest k such that n^7 = a_1^7 + ... + a_k^7 and all a_i are positive integers less than n.

Original entry on oeis.org

128, 28, 66, 39, 28, 26, 21, 20, 18, 22, 22, 22, 20, 21, 14, 17, 14, 14, 17, 16, 17, 14, 16, 13, 15, 13, 12, 15, 13, 15, 13, 14, 13, 14, 13, 13, 14, 12, 12, 12, 13, 12, 12, 12, 11, 13, 13, 12, 12, 13, 12, 12, 11, 12, 11, 11, 12, 12, 11, 12, 9, 12, 11, 11, 11
Offset: 2

Views

Author

M. F. Hasler, Dec 17 2014

Keywords

Comments

Inspired by Fermat's Last Theorem: 2 never occurs in this sequence.
No n is known for which a(n)<7, according to the MathWorld page. The values 7, 8, 9, ... occur first at indices 568, 102, 62, ...
I conjecture that the sequence is bounded by the initial term a(2)=128. Probably even a(4)=66, a(5)=39, a(6)=28 and some more are followed only by smaller terms.
I've uploaded two scripts; one to compute the b-file and one to generate an IP file. For the first script, a parameter kmax can be set to gain a speedup but more memory is used. The other one (which also works with large integers now) should be used in case someone has a good IP-solver. Higher terms might be computable faster with a good IP solver. - Manfred Scheucher, Aug 14 2015
From results on Waring's problem, it is known that all a(n) <= A002804(7) = 143, and a(n) <= 33 for all sufficiently large n. - Robert Israel, Aug 16 2015

Crossrefs

Programs

  • Maple
    M:= 10^8:
    R:= Vector(M,144, datatype=integer[4]):
    for p from 1 to floor(M^(1/7)) do
      p7:= p^7;
      if p > 1 then A[p]:= R[p7] fi;
      R[p7]:= 1;
      for j from p7+1 to M do
        R[j]:= min(R[j],1+R[j - p7]);
      od
    od:
    F:= proc(n,k,ub)
       local lb, m, bestyet, res;
       if ub <= 0 then return -1 fi;
       if n <= M then
         if n = 0 then return 0
         elif R[n] > ub then return -1
         else return R[n]
         fi
       fi;
       lb:= floor(n/k^7);
       if lb > ub then return -1 fi;
       bestyet:= ub;
       for m from lb to 0 by -1 do
         res:= procname(n-m*k^7, k-1, bestyet-m);
         if res >= 0 then
           bestyet:= res+m;
         fi
       od:
       return bestyet
    end proc:
    for n from floor(M^(1/7))+1 to 50 do
       A[n]:= F(n^7,n-1,144)
    od:
    seq(A[n],n=2..50); # Robert Israel, Aug 17 2015
  • PARI
    a(n,verbose=0,m=7)={N=n^m;for(k=3,999,forvec(v=vector(k-1,i,[1,n\sqrtn(k+1-i,m)]),ispower(N-sum(i=1,k-1,v[i]^m),m,&K)&&K>0&&!(verbose&&print1("/*"n" "v"*/"))&&return(k),1))}

Extensions

More terms from Manfred Scheucher, Aug 15 2015
a(50)-a(66) from Giovanni Resta, Aug 17 2015