Linear Congruences by pi8027

#include <stdio.h>
a,b=1,c;f(int a,int b,int c,int d){if(a>=b||c>=d)return b*d+1;for(;a-c&&a<b*d;)a<c?(a+=b):(c+=d);return a;}g(int a,int b){while(a>b?(a=a%b):(b=b%a));return a|b;}main(d){while(!feof(stdin))if(getchar()-10)scanf(" = %d %*s %d)%*c",&c,&d),a=f(a,b,c,d),b*=d/g(b,d);else printf(a>=b?"no solutions\n":"%d + %dk\n",a,b),a=0,b=1;}

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page