Consider equations having the following form:
ax1^2 + bx2^2 +cx3^2 +dx4^2=0
a, b, c, d are integers from the interval [-50,50] and any of them cannot be 0.
It is consider a solution a system ( x1,x2,x3,x4 ) that verifies the equation, xi
is an integer from[-100,100] and xi != 0, any i ∈{1,2,3,4}.
Determine how many solutions satisfy the given equation.
Input
The input consists of several test cases. Each test case consists of a single line containing the 4 coefficients a, b, c, d, separated by one or more blanks.
End of file.
Output
For each test case, output a single line containing the number of the solutions.
Sample Input
1 2 3 -4
1 1 1 1
Sample Output
39088
0
#include<stdio.h>
#include<string.h>
int s[1000101],k[1000101];
int main()
{
int a,b,c,d;
while(~scanf("%d %d %d %d",&a,&b,&c,&d))
{
if((a>0&&b>0&&c>0&&d>0)||(a<0&&b<0&&c<0&&d<0))
{
printf("0\n");
continue;
}
memset(s,0,sizeof(s));
memset(k,0,sizeof(k));
int i,j,l,sum=0;
for(i=1; i<=100; i++)
for(j=1; j<=100; j++)
{
l=a*i*i+b*j*j;
if(l<0)
s[-l]++;
else
k[l]++;
}
for(i=1; i<=100; i++)
for(j=1; j<=100; j++)
{
l=c*i*i+d*j*j;
if(l>0)
sum=sum+s[l];
else
sum=sum+k[-l];
}
printf("%d\n",sum*16);
}
}