login
A345509
Numbers that are the sum of ten squares in two or more ways.
5
25, 28, 31, 33, 34, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96
OFFSET
1,1
FORMULA
From Chai Wah Wu, May 09 2024: (Start)
All integers >= 39 are terms. Proof: since 20 can be written as the sum of 5 positive squares in 2 ways and any integer >= 34 can be written as a sum of 5 positive squares (see A025429), any integer >= 54 can be written as a sum of 10 positive squares in 2 or more ways. Integers from 39 to 53 are terms by inspection.
a(n) = 2*a(n-1) - a(n-2) for n > 9.
G.f.: x*(-x^8 + x^7 - x^6 + x^5 - x^4 - x^3 - 22*x + 25)/(x - 1)^2. (End)
a(n) = n + 31 for n > 7. - Charles R Greathouse IV, May 22 2026
EXAMPLE
28 = 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 2^2 + 4^2
= 1^2 + 1^2 + 1^2 + 1^2 + 2^2 + 2^2 + 2^2 + 2^2 + 2^2 + 2^2
so 28 is a term.
MATHEMATICA
LinearRecurrence[{2, -1}, {25, 28, 31, 33, 34, 36, 37, 39, 40}, 100] (* Paolo Xausa, May 22 2026 *)
PROG
(Python)
from itertools import combinations_with_replacement as cwr
from collections import defaultdict
keep = defaultdict(lambda: 0)
power_terms = [x**2 for x in range(1, 1000)]
for pos in cwr(power_terms, 10):
tot = sum(pos)
keep[tot] += 1
rets = sorted([k for k, v in keep.items() if v >= 2])
for x in range(len(rets)):
print(rets[x])
(Python)
def A345509(n): return (25, 28, 31, 33, 34, 36, 37)[n-1] if n<8 else n+31 # Chai Wah Wu, May 09 2024
(PARI) a(n)=if(n>7, n+31, [25, 28, 31, 33, 34, 36, 37][n]) \\ Charles R Greathouse IV, May 22 2026
CROSSREFS
KEYWORD
nonn,easy
AUTHOR
STATUS
approved