%I #6 Aug 05 2021 07:20:08
%S 62,64,67,70,71,73,74,76,77,78,79,80,81,82,83,85,86,87,88,89,90,91,92,
%T 93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,
%U 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127
%N Numbers that are the sum of eight squares in nine or more ways.
%H Sean A. Irvine, <a href="/A345496/b345496.txt">Table of n, a(n) for n = 1..1000</a>
%e 64 is a term because 64 = 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 3^2 + 7^2 = 1^2 + 1^2 + 1^2 + 1^2 + 1^2 + 3^2 + 5^2 + 5^2 = 1^2 + 1^2 + 1^2 + 1^2 + 2^2 + 2^2 + 4^2 + 6^2 = 1^2 + 1^2 + 1^2 + 2^2 + 3^2 + 4^2 + 4^2 + 4^2 = 1^2 + 1^2 + 1^2 + 3^2 + 3^2 + 3^2 + 3^2 + 5^2 = 1^2 + 1^2 + 2^2 + 2^2 + 2^2 + 3^2 + 4^2 + 5^2 = 1^2 + 3^2 + 3^2 + 3^2 + 3^2 + 3^2 + 3^2 + 3^2 = 2^2 + 2^2 + 2^2 + 2^2 + 2^2 + 2^2 + 2^2 + 6^2 = 2^2 + 2^2 + 2^2 + 3^2 + 3^2 + 3^2 + 3^2 + 4^2.
%o (Python)
%o from itertools import combinations_with_replacement as cwr
%o from collections import defaultdict
%o keep = defaultdict(lambda: 0)
%o power_terms = [x**2 for x in range(1, 1000)]
%o for pos in cwr(power_terms, 8):
%o tot = sum(pos)
%o keep[tot] += 1
%o rets = sorted([k for k, v in keep.items() if v >= 9])
%o for x in range(len(rets)):
%o print(rets[x])
%Y Cf. A345486, A345495, A345497, A345539.
%K nonn
%O 1,1
%A _David Consiglio, Jr._, Jun 20 2021