|
|
A350403
|
|
Number of solutions to +-1^2 +- 2^2 +- 3^2 +- ... +- n^2 = 0 or 1.
|
|
2
|
|
|
1, 1, 0, 0, 0, 0, 2, 2, 2, 5, 2, 2, 10, 13, 43, 86, 114, 193, 274, 478, 860, 1552, 3245, 5808, 10838, 18628, 31048, 55626, 100426, 188536, 372710, 696164, 1298600, 2376996, 4197425, 7826992, 14574366, 27465147, 53072709, 100061106, 187392994, 351329160
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,7
|
|
LINKS
|
|
|
EXAMPLE
|
a(8) = 2: +1^2 - 2^2 - 3^2 + 4^2 - 5^2 + 6^2 + 7^2 - 8^2 =
-1^2 + 2^2 + 3^2 - 4^2 + 5^2 - 6^2 - 7^2 + 8^2 = 0.
|
|
MAPLE
|
b:= proc(n, i) option remember; `if`(n>i*(i+1)*(2*i+1)/6, 0,
`if`(i=0, 1, b(n+i^2, i-1)+b(abs(n-i^2), i-1)))
end:
a:=n-> b(0, n)+b(1, n):
|
|
MATHEMATICA
|
b[n_, i_] := b[n, i] = If[n > i*(i + 1)*(2*i + 1)/6, 0,
If[i == 0, 1, b[n + i^2, i - 1] + b[Abs[n - i^2], i - 1]]];
a[n_] := b[0, n] + b[1, n];
|
|
PROG
|
(Python)
from itertools import product
def a(n):
if n == 0: return 1
nn = ["0"] + [str(i)+"**2" for i in range(1, n+1)]
return sum(eval("".join([*sum(zip(nn, ops+("", )), ())])) in {0, 1} for ops in product("+-", repeat=n))
(Python)
from functools import cache
@cache
def b(n, i):
if n > i*(i+1)*(2*i+1)//6: return 0
if i == 0: return 1
return b(n+i**2, i-1) + b(abs(n-i**2), i-1)
def a(n): return b(0, n) + b(1, n)
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|