| American Citizen on Sun, 16 Nov 2025 01:00:12 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| expressing a number as the sum of 3 triangular numbers |
tri(n)=n*(n+1)/2;
{sqs3(N) =
my(a);
if(N==0,return([0,0,0]););
a=Set(concat(vector(sqrtint(N\3+1)+1,j,
my(i=j-1);
Set(abs([vecsort(concat(i,abs(v)),,4)|v<-qfbsolve(Qfb(1,0,1),N-i^2,3)]));
)));
if(a==[],return(a); , return(a[1]); );
}
{three_tri(n)=
my(N,K,a,b,c,M);
N=8*n+3;
print("N=",N);
K=sqs3(N);
print("K=",K);
if(K!=[], [a,b,c]=[(K[1]-1)/2, (K[2]-1)/2, (K[3]-1)/2]; ,
[a,b,c]=[0,0,0]; );
print("a,b,c = ",[a,b,c]);
return([a,b,c]);
}