复习一下扩展欧几里得。
写的不错的博客:http://www.cnblogs.com/zyf0163/p/4792953.html
用于解决ax+by=gcd(a, b)类问题的算法(求乘法逆元是一种特殊情况:ax≡1%m得ax-my=1)。
可以用扩展欧几里得算法求出一组解x1,y1。
通解为:
x = x1 + b / gcd(a, b) * t;
y = y1 - a / gcd(a, b) * t;
模板:
int ex_gcd(int a,int b,int &x,int &y) { if(b==0) { x=1; y=0; return a; } int ans=ex_gcd(b,a%b,y,x); y-=a/b*x; return ans; }