login
A345495
Numbers that are the sum of eight squares in eight or more ways.
6
56, 59, 62, 64, 65, 67, 68, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122
OFFSET
1,1
LINKS
EXAMPLE
59 is a term because 59 = 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 2^2 + 7^2 = 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 2^2 + 5^2 + 5^2 = 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 3^2 + 3^2 + 6^2 = 1^2 + 1^2 + 1^2 + 2^2 + 2^2 + 4^2 + 4^2 + 4^2 = 1^2 + 1^2 + 1^2 + 2^2 + 3^2 + 3^2 + 3^2 + 5^2 = 1^2 + 1^2 + 2^2 + 2^2 + 2^2 + 2^2 + 4^2 + 5^2 = 1^2 + 2^2 + 3^2 + 3^2 + 3^2 + 3^2 + 3^2 + 3^2 = 2^2 + 2^2 + 2^2 + 2^2 + 3^2 + 3^2 + 3^2 + 4^2.
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, 8):
tot = sum(pos)
keep[tot] += 1
rets = sorted([k for k, v in keep.items() if v >= 8])
for x in range(len(rets)):
print(rets[x])
CROSSREFS
KEYWORD
nonn
AUTHOR
STATUS
approved