%I #19 Jan 04 2019 18:34:09
%S 0,0,0,0,1,2,3,5,8,11,15,20,26,33,40,48,57,67,80,93,107,121,136,153,
%T 172,193,214,236,259,284,311,340,371,402,433,466,501,538,577,618,661,
%U 705,751,798,847,897,949,1002,1057,1115,1176,1239,1303,1369,1436,1505
%N Number of sets of three positive numbers <= n whose sum is a square.
%C Inspired by A278329.
%C a(n) >= a(n-1), first differences are nondecreasing.
%H Alois P. Heinz and Robert G. Wilson v, <a href="/A281706/b281706.txt">Table of n, a(n) for n = 0..20000</a>
%e a(1) .. a(3) = 0;
%e a(4) = 1 since 2+3+4 = 9;
%e a(5) = 2 since 2+3+4 = 1+3+5 = 9;
%e a(6) = 3 since 2+3+4 = 1+3+5 = 1+2+6 = 9;
%e a(7) = 5 since a(6) = 3 plus 3+6+7 = 4+5+7 = 16;
%e a(8) = 8 since a(7) = 5 plus 1+7+8 = 2+6+8 = 3+5+8 = 16; etc.
%p g:= (n, t)-> max(0, iquo(n-1, 2)-max(1, n-t)+1):
%p b:= n-> add(g(k^2-n, n-1), k=ceil(sqrt(n+3))..floor(sqrt(3*n-3))):
%p a:= proc(n) option remember; `if`(n=0, 0, a(n-1)+b(n)) end:
%p seq(a(n), n=0..100);
%t f[n_] := Length@ Select[Plus @@@ Subsets[ Range@ n, {3}], Mod[ Sqrt[#], 1] == 0 &]; Array[f, 65] (* or *)
%t f = Compile[{{n, _Integer}}, Block[{a = 1, b = 2, c = 3, cnt = 0}, While[a < b, b = a +1; While[b < c, c = b +1; While[c < n +1, If[ Mod[ Sqrt[a + b + c], 1] == 0, cnt++]; c++]; b++]; a++]; cnt]]; Array[f, 65] (* or *)
%t g = Compile[{{n, _Integer}}, If[n < 4, 0, Block[{a = 1, b = 2, cnt = f[n -1]}, While[a < b, b = a +1; While[b < n, If[ Mod[ Sqrt[a + b + n], 1] == 0, cnt++]; b++]; a++]; cnt]]]; f[n_] := f[n] = g[n]; Array[f, 100]
%Y Cf. A176615, A278329.
%Y Column k=3 of A281871.
%K nonn,easy
%O 0,6
%A _Alois P. Heinz_ and _Robert G. Wilson v_, Jan 28 2017
|