OFFSET
0,7
COMMENTS
Ways of writing 2n+1 as p+q+r where p,q,r are odd primes with p <= q <= r.
The two papers of Helfgott appear to provide a proof of the Odd Goldbach Conjecture that every odd number greater than five is the sum of three primes. (The paper is still being reviewed.) - Peter Luschny, May 18 2013; N. J. A. Sloane, May 19 2013
REFERENCES
George E. Andrews, Number Theory (NY, Dover, 1994), page 111.
Ivars Peterson, The Mathematical Tourist (NY, W. H. Freeman, 1998), pages 35-37.
Paulo Ribenboim, "VI, Goldbach's famous conjecture," The New Book of Prime Number Records, 3rd ed. (NY, Springer, 1996), pages 291-299.
LINKS
T. D. Noe, Table of n, a(n) for n = 0..10000
H. A. Helfgott, Minor arcs for Goldbach's problem, arXiv:1205.5252 [math.NT], 2012.
H. A. Helfgott, Major arcs for Goldbach's theorem, arXiv:1305.2897 [math.NT], 2013.
H. A. Helfgott, The ternary Goldbach conjecture is true, arxiv:1312.7748 [math.NT], 2013.
H. A. Helfgott, The ternary Goldbach problem, arXiv:1404.2224 [math.NT], 2014.
F. Smarandache, Only Problems, Not Solutions!.
EXAMPLE
a(10) = 4 because 21 = 3+5+13 = 3+7+11 = 5+5+11 = 7+7+7.
MAPLE
A007963 := proc(n)
local a, i, j, k, p, q, r ;
a := 0 ;
for i from 2 do
p := ithprime(i) ;
for j from i do
q := ithprime(j) ;
for k from j do
r := ithprime(k) ;
if p+q+r = 2*n+1 then
a := a+1 ;
elif p+q+r > 2*n+1 then
break;
end if;
end do:
if p+2*q > 2*n+1 then
break;
end if;
end do:
if 3*p > 2*n+1 then
break;
end if;
end do:
return a;
end proc:
seq(A007963(n), n=0..30) ; # R. J. Mathar, Sep 06 2014
MATHEMATICA
nn = 75; ps = Prime[Range[2, nn + 1]]; c = Flatten[Table[If[i >= j >= k, i + j + k, 0], {i, ps}, {j, ps}, {k, ps}]]; Join[{0, 0, 0, 0}, Transpose[Take[Rest[Sort[Tally[c]]], nn+2]][[2]]] (* T. D. Noe, Apr 08 2014 *)
PROG
(Sage)
def A007963(n):
c = 0
for p in Partitions(n, length = 3):
b = True
for t in p:
b = is_prime(t) and t > 2
if not b: break
if b : c = c + 1
return c
[A007963(2*n+1) for n in (0..77)] # Peter Luschny, May 18 2013
(Perl) use ntheory ":all"; sub a007963 { my($n, $c)=(shift, 0); forpart { $c++ if vecall { is_prime($_) } @_; } $n, {n=>3, amin=>3}; $c; }
say "$_ ", a007963(2*$_+1) for 0..100; # Dana Jacobsen, Mar 19 2017
(PARI) a(n)=my(k=2*n+1, s, t); forprime(p=(k+2)\3, k-6, t=k-p; forprime(q=t\2, min(t-3, p), if(isprime(t-q), s++))); s \\ Charles R Greathouse IV, Mar 20 2017
CROSSREFS
KEYWORD
nonn
AUTHOR
R. Muller
EXTENSIONS
Corrected and extended by David W. Wilson
STATUS
approved