扩展欧几里得
求不定方程ax+by=gcd(a,b)的解(a,b为正整数),求得特解x1,y1,通解x=x1-b/d*k,y=y1+a/d*k.当ax+by=d,且d%gcd(a,b)==0时,通解为x*d/gcd(a,b),y*d/gcd(a,b).
int exgcd(int a,int b,int &x,int &y)
{
if(!b)
{
x=1;y=0;
return a;
}
int d=exgcd(b,a%b,y,x);
y-=a/b*x;
return d;
}//x=x0-b/d*k,y=y0+a/d*k;