login
Number of nonnegative solutions of x1^2 + x2^2 + ... + x10^2 = n.
5

%I #26 Feb 10 2021 20:51:45

%S 1,10,45,120,220,342,570,960,1350,1640,2191,3240,4200,4720,5760,7920,

%T 9865,10620,11965,15600,19332,20550,22200,28080,34200,35582,37395,

%U 45720,54600,56970,59460,71040,84330,87090,88195,104040,123200,125710,126540,148560

%N Number of nonnegative solutions of x1^2 + x2^2 + ... + x10^2 = n.

%H Seiichi Manyama, <a href="/A045852/b045852.txt">Table of n, a(n) for n = 0..10000</a> (terms 0..2000 from T. D. Noe)

%F Coefficient of q^n in (1 + q + q^4 + q^9 + q^16 + q^25 + q^36 + q^49 + q^64 + ...)^10.

%F G.f.: ((1 + theta_3(x)) / 2)^10. - _Ilya Gutkovskiy_, Feb 10 2021

%p b:= proc(n, k) option remember; `if`(n=0, 1, `if`(n<0 or k<1, 0,

%p b(n, k-1)+add(b(n-j^2, k-1), j=1..isqrt(n))))

%p end:

%p a:= b(n, 10):

%p seq(a(n), n=0..40); # _Alois P. Heinz_, Feb 10 2021

%t Take[CoefficientList[Expand[(Total[x^Range[0,5]^2])^10],x],50] (* _Harvey P. Dale_, May 20 2011 *)

%o (Ruby)

%o def mul(f_ary, b_ary, m)

%o s1, s2 = f_ary.size, b_ary.size

%o ary = Array.new(s1 + s2 - 1, 0)

%o (0..s1 - 1).each{|i|

%o (0..s2 - 1).each{|j|

%o ary[i + j] += f_ary[i] * b_ary[j]

%o }

%o }

%o ary[0..m]

%o end

%o def power(ary, n, m)

%o if n == 0

%o a = Array.new(m + 1, 0)

%o a[0] = 1

%o return a

%o end

%o k = power(ary, n >> 1, m)

%o k = mul(k, k, m)

%o return k if n & 1 == 0

%o return mul(k, ary, m)

%o end

%o def A(k, n)

%o ary = Array.new(n + 1, 0)

%o (0..Math.sqrt(n).to_i).each{|i| ary[i * i] = 1}

%o power(ary, k, n)

%o end

%o p A(10, 100) # _Seiichi Manyama_, May 28 2017

%Y Cf. A010052, A045847.

%K nonn

%O 0,2

%A _N. J. A. Sloane_