int gcd(int a, int b, int *u, int *v ) /* 不妨设 a>b>0, 用*u, *v返回所求的两个整数, 函数将返回 gcd(a,b) */ {int tempu, tempv, tempa, p,q; *u=0,*v=1,p=1, q=-a/b; /*初始化 *u,*v,p, q的值*/ while(1) { tempa=a; a=b; b= tempa%b; if (b==0)break; tempu=*u, tempv=*v; *u=p,*v=q,p= tempu +(-a/b)*p, q= tempv+(-a/b)*q; } return a;} 求出u和v;代入上面的M-1;从而求出x;