OFFSET

0,3

COMMENTS

It is known that a(n) > 0 for every n, i.e., every number can be written as the sum of 3 palindromes.

The graph has a kind of self-similarity: looking at the first 100 values, there is a Gaussian-shaped peak centered at the first local maximum a(15) = 18. Looking at the first 10000 values, one sees just one Gaussian-shaped peak centered around the record and local maximum a(1453) = 766, but to both sides of this value there are smaller peaks, roughly at distances which are multiples of 10. In the range [1..10^6], one sees a Gaussian-shaped peak centered around the record a(164445) = 57714. In the range [1..3*10^7], there is a similar peak of height ~ 4.3*10^6 at 1.65*10^7, with smaller neighbor peaks at distances which are multiples of 10^6, etc. - M. F. Hasler, Sep 09 2018

LINKS

Giovanni Resta, Table of n, a(n) for n = 0..10000

Javier Cilleruelo and Florian Luca, Every positive integer is a sum of three palindromes, arXiv: 1602.06208 [math.NT], 2016-2017.

Erich Friedman, Problem of the Month (June 1999)

James Grime and Brady Haran, Every Number is the Sum of Three Palindromes, Numberphile video (2018)

Hugo Pfoertner, Plot of first 10^6 terms

Hugo Pfoertner, Plot of first 3*10^7 terms

Hugo Pfoertner, Plot of low values in range 7*10^6 ... 10^7

FORMULA

a(n) = Sum_{k=0..3} A319453(n,k). - Alois P. Heinz, Sep 19 2018

EXAMPLE

a(0)=1 because 0 = 0+0+0;

a(1)=1 because 1 = 0+0+1;

a(2)=2 because 2 = 0+1+1 = 0+0+2;

a(3)=3 because 3 = 1+1+1 = 0+1+2 = 0+0+3.

a(28) = 6 since 28 can be expressed in 6 ways as the sum of 3 palindromes, namely, 28 = 0+6+22 = 1+5+22 = 2+4+22 = 3+3+22 = 6+11+11 = 8+9+11.

MAPLE

A261132 := proc(n)

local xi, yi, x, y, z, a ;

a := 0 ;

for xi from 1 do

x := A002113(xi) ;

if 3*x > n then

return a;

end if;

for yi from xi do

y := A002113(yi) ;

if x+2*y > n then

break;

else

z := n-x-y ;

if z >= y and isA002113(z) then

a := a+1 ;

end if;

end if;

end do:

end do:

return a;

end proc:

seq(A261132(n), n=0..80) ; # R. J. Mathar, Sep 09 2015

MATHEMATICA

pal=Select[Range[0, 1000], (d = IntegerDigits@ #; d == Reverse@ d)&]; a[n_] := Length@ IntegerPartitions[n, {3}, pal]; a /@ Range[0, 1000]

PROG

(PARI) A261132(n)=n||return(1); my(c=0, i=inv_A002113(n)); A2113[i] > n && i--; until( A2113[i--]*3 < n, j = inv_A002113(D = n-A2113[i]); if( j>i, j=i, A2113[j] > D && j--); while( j >= k = inv_A002113(D - A2113[j]), A2113[k] == D - A2113[j] && c++; j--||break)); c \\ For efficiency, this uses an array A2113 precomputed at least up to n. - M. F. Hasler, Sep 10 2018

CROSSREFS

KEYWORD

AUTHOR

Giovanni Resta, Aug 10 2015

EXTENSIONS

Examples revised and plots for large n added by Hugo Pfoertner, Aug 11 2015

STATUS

approved