线性方程整数解,扩展欧几里得解分析

符号说明

\(y_{0}=\left ( a_{1},a_{2},...,a_{n} \right ) 即y_{0}是a_{1},a_{2},...,a_{n}\)的最大公因数
\(d|a_{i}(d整除a_{i},a_{i}是d的倍数)\)

定理

\(设a_{i}\in Z ,A=\left \{ y|y=\sum_{i=1}^{n}a_{i}x_{i},x_{i}\in Z,1\leq i \leq n \right \}\)
如果\(y_{0}\)是集合A中最小的正数,则\(y_{0}=\left ( a_{1},a_{2},...,a_{n} \right )\)

证明

设d是\(a_{1},a_{2},...,a_{n}\)的一个公因数,\(d|a_{i}\),则\(a_{1},a_{2},...,a_{n}\)的线性组合都是d的倍数
\(d|y_{0}=\sum_{i=1}^{n}a_{i}x'_{i},故而d\leq y_{0}\)
\(y_{0}=\sum_{i=1}^{n}a_{i}x'_{i},对任意的y=\sum_{i=1}^{n}a_{i}x_{i},存在q,r\in Z,这里两个式子的a_{i}相同,使得y=qy_{0}+r\)
\(r=y-qy_{0}=a_{1}(x_{1}-qx'_{1})+...+a_{n}(x_{n}-qx'_{n})\in A\)
因为r小于\(y_{0},若r\neq 0\)则r是A中比\(y_{0}\)还小的正整数,这与\(y_{0}\)是A中最小的正整数矛盾,故而r=0,\(y_{0}\)|y
显然\(a_{i}\in A,在y=\sum_{i=1}^{n}a_{i}x_{i}中取a_{i}系数x_{i}=1,其他所有x=0,故y_{0}|a_{i}\)
由此可得\(y_{0}也是a_{1},a_{2},...,a_{n}的公因数而d\leq y_{0},所以y_{0}=\left ( a_{1},a_{2},...,a_{n} \right )\)
---------------------------------------------------------------------------------------

正题开始

以上为数论基础
对于ax+by=gcd(x,y)一定有整数解,对此可以用扩展欧几里得算法计算出整数x,y
对于右边不是最大公因数的方程,如果要求得是方程ax1+by1=n,n!=gcd(x,y),但gcd(x,y)|n
则在求解ax+by=gcd(x,y)后,两边同时乘以一个系数m即可,m=n/gcd(x,y)
amx+bmy=gcd(x,y)*m=n
对应x1=mx,y1=my
综上所述,ax+by=n在gcd(x,y)|n时有整数解,可以用扩展欧几里得算法简答修改一下得到解
对于扩展欧几里得算法,这里不进行赘述

posted @ 2020-11-03 15:05  ecnu_lxz  阅读(264)  评论(0编辑  收藏  举报