#include #include int k; void ReadData(void){ FILE *f=fopen("ecuatie.in","rt"); fscanf(f,"%d",&k); fclose(f); } void FindAndWriteSolution(void){ int rad = sqrt(abs(k)) + 1; int sol = 0; FILE *f=fopen("ecuatie.out","wt"); for (int p = (abs(k) & 1)?1:2; p <= rad; p+=2) if (!(k%p) && (p & 1) == (k / p & 1)){ int x = (p + k / p)/2; int y = p - x; sol = 1; fprintf(f,"%d %d\n",x,y); fprintf(f,"%d %d\n",-x,-y); if (x && y){ fprintf(f,"%d %d\n",-x,y); fprintf(f,"%d %d\n",x,-y); } } if (!sol) fprintf(f,"NU EXISTA SOLUTII\n"); fclose(f); } void main(void){ ReadData(); FindAndWriteSolution(); }