OFFSET
1,6
COMMENTS
Let S=(p_1, ..., p_n) be the ordered sequence of the first n prime numbers. The n-th Gilbreath polynomial is defined as the polynomial P_n such that the x-th term of the upper bound Gilbreath sequence of S, U(S)_x, is U(S)_x=2^(n+x-1)+P_n where P_n = Sum_{i=1..n} T(n,i)*x^(i-1)/a(n).
LINKS
Riccardo Gatti, Gilbreath Sequences and Proof of Conditions for Gilbreath Conjecture, Preprints 2020, 2020030145.
Riccardo Gatti, Program for the generation of the m-th Gilbreath polynomial calling GenMthGilbreathPolynomial(m)
A. M. Odlyzko, Iterated absolute values of differences of consecutive primes, Math. Comp. 61 (1993), 373-380.
EXAMPLE
The lowest common denominator of P_6 is a(6)=3, in fact P_6 = (-57 - 55x - 15x^2 - 2x^3)/3. The x-th term of the upper bound Gilbreath sequence of S=(p_1, ..., p_6) = (2, 3, 5, 7, 11, 13) is U(S)_x = 2^(x+5) + (-57 - 55x - 15x^2 - 2x^3)/3.
PROG
(PARI) polynomialfit(data) = Pol(Vecrev(matsolve(matrix(#data, #data, i, j, i^(j-1)), data~))); \\ from David A. Corneth
isg(v, k) = {my(w = concat(v, k), vd = w); for (i=1, #w-1, vd = vector(#vd-1, k, abs(vd[k+1] - vd[k])); if (vd[1] != 1, return (0)); ); return (1); }
nextx(v) = {my(k = nextprime(nextprime(vecmax(v)+1)+1)); while (isg(v, k), k+=2); k-=2; }
a(n) = {my(vp = primes(n), v = List()); for (i=1, n, my(x = nextx(vp)); vp = concat(vp, x); listput(v, x); ); v = Vec(v); my(cp = Vecrev(polynomialfit(vector(#v, k, v[k] - 2^(k+n-1))))); lcm(apply(denominator, cp)); } \\ Michel Marcus, Sep 20 2021
CROSSREFS
KEYWORD
nonn
AUTHOR
Riccardo Gatti, Sep 20 2021
STATUS
approved