|
|
A122141
|
|
Array: T(d,n) = number of ways of writing n as a sum of d squares, read by ascending antidiagonals.
|
|
29
|
|
|
1, 1, 2, 1, 4, 0, 1, 6, 4, 0, 1, 8, 12, 0, 2, 1, 10, 24, 8, 4, 0, 1, 12, 40, 32, 6, 8, 0, 1, 14, 60, 80, 24, 24, 0, 0, 1, 16, 84, 160, 90, 48, 24, 0, 0, 1, 18, 112, 280, 252, 112, 96, 0, 4, 2, 1, 20, 144, 448, 574, 312, 240, 64, 12, 4, 0, 1, 22, 180, 672, 1136, 840, 544, 320, 24, 30, 8, 0
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
COMMENTS
|
This is the transpose of the array in A286815.
T(d,n) is divisible by 2d for any n != 0 iff d is a power of 2. - Jianing Song, Sep 05 2018
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
Array T(d,n) with rows d = 1,2,3,... and columns n = 0,1,2,3,... reads
1 2 0 0 2 0 0 0 0 2 0 ...
1 4 4 0 4 8 0 0 4 4 8 ...
1 6 12 8 6 24 24 0 12 30 24 ...
1 8 24 32 24 48 96 64 24 104 144 ...
1 10 40 80 90 112 240 320 200 250 560 ...
1 12 60 160 252 312 544 960 1020 876 1560 ...
1 14 84 280 574 840 1288 2368 3444 3542 4424 ...
1 16 112 448 1136 2016 3136 5504 9328 12112 14112 ...
1 18 144 672 2034 4320 7392 12672 22608 34802 44640 ...
1 20 180 960 3380 8424 16320 28800 52020 88660 129064 ...
|
|
MAPLE
|
A122141 := proc(d, n) local i, cnts ; cnts := 0 ; for i from -trunc(sqrt(n)) to trunc(sqrt(n)) do if n-i^2 >= 0 then if d > 1 then cnts := cnts+procname(d-1, n-i^2) ; elif n-i^2 = 0 then cnts := cnts+1 ; fi ; fi ; od ; cnts ;
end:
for diag from 1 to 14 do for n from 0 to diag-1 do d := diag-n ; printf("%d, ", A122141(d, n)) ; od ; od;
# second Maple program:
A:= proc(d, n) option remember; `if`(n=0, 1, `if`(n<0 or d<1, 0,
A(d-1, n) +2*add(A(d-1, n-j^2), j=1..isqrt(n))))
end:
|
|
MATHEMATICA
|
Table[ SquaresR[d - n, n], {d, 1, 12}, {n, 0, d - 1}] // Flatten (* Jean-François Alcover, Jun 13 2013 *)
A[d_, n_] := A[d, n] = If[n==0, 1, If[n<0 || d<1, 0, A[d-1, n] + 2*Sum[A[d-1, n-j^2], {j, 1, Sqrt[n]}]]]; Table[A[h-n, n], {h, 1, 14}, {n, 0, h-1}] // Flatten (* Jean-François Alcover, Feb 28 2018, after Alois P. Heinz *)
|
|
PROG
|
(Python)
from sympy.core.power import isqrt
from functools import cache
@cache
def T(d, n):
if n == 0: return 1
if n < 0 or d < 1: return 0
return T(d-1, n) + sum(T(d-1, n-(j**2)) for j in range(1, isqrt(n)+1)) * 2 # Darío Clavijo, Feb 06 2024
|
|
CROSSREFS
|
Cf. A000122 (1st row), A004018 (2nd row), A005875 (3rd row), A000118 (4th row), A000132 (5th row), A000141 (6th row), A008451 (7th row), A000143 (8th row), A008452 (9th row), A000144 (10th row), A008453 (11th row), A000145 (12th row), A276285 (13th row), A276286 (14th row), A276287 (15th row), A000152 (16th row).
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|