严格证明扩展欧几里得算法的正确性

引理一:\(m\mid x_i, i\in[1, k]\),则\(m\mid a_1x_1+\dots + a_kx_k, a_i\in Z\)

​ 证明:设\(mb_i=x_i\),则\(a_1x_1+\dots+a_kx_k=a_1mb_1+\dots+a_kmb_k=m(a_1b_1+\dots+a_kb_k),m \mid m(a_1b_1+\dots+a_kb_k)\)

引理二:设正整数\(m \mid (a_1,\dots,a_k)\),则\(m(\frac{a_1}{m},\dots,\frac{a_k}{m})=(a_1,\dots,a_k)\)。

​ 证明:设\(D=(a_1,\dots,a_k)\),由\(m \mid D\),\(D \mid a_j\),得\(m \mid a_j\)(假定了整除满足同乘同除一个数依然成立),\(\frac{D}{m} \mid \frac{a_j}{m}\),因此\(\frac{D}{m}\)是\(\frac{a_i}{m}\)的公约数,有\(\frac{D}{m}\le(\frac{a_1}{m},\dots,\frac{a_k}{m})\)

​ 另一方面,若\(d\mid \frac{a_j}{m},1\le j\le k\),则\(md \mid a_j,j=1,\dots,k\)。由于\(D\)是\(a_j\)的最大公约数,所以\(md\le D\),\(\frac{D}{m} \ge d\)

​ 取\(d=(\frac{a_1}{m},\dots,\frac{a_k}{m})\),则可得\(\frac{D}{m}=(\frac{a_1}{m},\dots,\frac{a_k}{m})\)

​ 两边同乘\(m\),可得\(m(\frac{a_1}{m},\dots,\frac{a_k}{m})=D=(a_1,\dots,a_k)\)

​ 将\(m=(a_1,\dots,a_k)\)代入上式,即得 \((\frac{a_1}{(a_1,\dots,a_k)},\dots,\frac{a_k}{(a_1,\dots,a_k)})=1\)

定理一: \((x_1, \dots , x_k)=min\{s=a_1x_1+\dots+a_kx_k,s\in A, s>0, a_i\in Z\}\)

​ 证明:设\(s_{min}=a_1'x_1+\dots +a_k'x_k\)。对于任意\(d\mid x_i\),由引理可得\(d\mid s_{min}\),因此\((x_1, \dots, x_k)\mid s_{min}\),\((x_1, \dots, x_k)\le s_{min}\)

​ 又因为\(x_i\% s_{min}\in [0, s_{min})\)【不严格】,且\(s_{min}\)是\(A\)中的最小正元素,所以\(x_i\% s_{min}=0\),即\(s_{min} \mid x_i\),

​ 所以\(s_{min}\)是\(x_i\)的公约数,小于等于最大公约数。即\(s_{min}\le (x_1,\dots,x_k)\)

​ 综上,可得\((x_1,\dots, x_k)=s_{min}\)

推论一:一定存在一组整数\(a_1', \dots, a_k'\),使得\((x_1, \dots, x_k)=a_1'x_1+\dots+a_k'x_k\)。这是因为\((x_1, \dots, x_k)=s\in A\),而\(A\)中的元素表示为\(a_1x_1+\dots +a_ks_k\)。因此一定存在一组整数表示\((x_1,\dots,x_k)=s\)

推论二:\((x_1,\dots,x_k)\mid a_1x_1+\dots+a_kx_k,a_i\in Z\)。这是因为\((x_1,\dots,x_k)\mid x_i\),根据引理推论二得证。

【注】本节的\(a\)和\(x\)与前两节的位置是互换了的。

设整数\(k \ge 2\),\(a_1,\dots,a_k\)是整数且不等于零,\(c\)是整数,\(x_1,\dots,x_k\)是整数变数,方程\(a_1x_1+\dots+a_kx_k=c\)称为k元一次不定方程,\(a_1,\dots, a_k\)称为它的系数。

定理二 k元一次不定方程有解的充要条件是\((a_1,\dots,a_k)\mid c\)

​ 证明:首先证明充分性。根据推论一,必定存在一组整数\(x_1',\dots,x_k'\),使得\(a_1x_1'+\dots+a_kx_k'=(a_1,\dots,a_k)\)。新方程的解之一就是\(x_i=x_i'\frac{c}{(a_1,\dots,a_k)}\)

​ 然后证明必要性。根据推论二,\((a_1,\dots,a_k)\mid a_1x_1+\dots+a_kx_k=c\),必要性直接得证。

定理三 设二元一次不定方程\(a_1x_1+a_2x_2=c\)有解,\(x_{1,0},x_{2,0}\)是它的一组解,那么它的所有解为

\[\left \{ \begin{aligned} x_1=x_{1,0}+\frac{a_2}{(a_1,a_2)}t, \\ x_2=x_{2,0}-\frac{a_1}{(a_1,a_2)}t, \end{aligned} \right. t=0,\pm1,\pm2,\dots \]

​ 证明:容易验证对于所有给出的解\(x_1,x_2\),对于所有整数\(t\)都满足不定方程4。

​ 反过来,设\(x_1,x_2\)是方程的一组解,我们有\(a_1x_1+a_2x_2=c=a_1x_{1,0}+a_2x_{2,0}\),进而有\(a_1(x_1-x_{1,0})=-a_2(x_2-x_{2,0})\),\(\frac{a_1}{(a_1,a_2)}(x_1-x_{1,0})=-\frac{a_2}{(a_1,a_2)}(x_2-x_{2,0})\)

​ 根据引理二,\((\frac{a_1}{(a_1,a_2)},\frac{a_2}{(a_1,a_2)})=1\),而上式可以转化为\(\frac{a_2}{(a_1,a_2)}\mid \frac{a_1}{(a_1,a_2)}(x_1-x_{1,0})\)。根据定理\((m,a)=1,m\mid ab\Rightarrow m \mid b\)(可用算数基本定理证明【不严格】),\(\frac{a_2}{(a_1,a_2)} \mid (x_1-x_{1,0})\)。

​ 因此,\(x_1=x_{1,0}+\frac{a_2}{(a_1,a_2)}t\),\(x_2=x_{2,0}-\frac{a_1}{(a_1,a_2)}t\),这就证明了满足二元一次不定方程的解一定满足上述解的前面的通式。

求解二元一次不定方程需要用到扩展欧几里得算法。

我们现在需要求出方程\(ax+by=z\)的解\((x,y)\)。根据定理二,方程\(ax+by=z\)有解等价于\((a,b) \mid z\),因此我们只要先求出方程\(ax+by=(a, b)\)的解,再将解的值乘上\(\frac{z}{(a,b)}\),就求出了原方程的一组解。

那么,如何求解\(ax+by=(a,b)\)?考虑欧几里得算法\((a,b)=(b, a\%b)\),设\(bx'+(a\%b)y'=(b,a\%b)=(a,b)=ax+by\),

则\(bx'+(a\%b)y'=bx'+(a-b\lfloor\frac{a}{b}\rfloor)y'=ay'+b(x'-\lfloor \frac{a}{b}\rfloor)\)

可以发现\(x=y',y=x'-\lfloor \frac{a}{b}\rfloor\)就是方程\(ax+by=(a,b)\)的一组解。

不断地列出\(ax+by=ay'+b(x'-\lfloor\frac{a}{b}\rfloor)\),代入\(x=y',y=x'-\lfloor \frac{a}{b}\rfloor\)求解,最后就能求出\(ax+by=(a,b)\)的某一组解\((x_0,y_0)\)。在这之后再利用定理三求出通解:

\[\left \{ \begin{aligned} x_1=x_{1,0}+\frac{a_2}{(a_1,a_2)}t, \\ x_2=x_{2,0}-\frac{a_1}{(a_1,a_2)}t, \end{aligned} \right. t=0,\pm1,\pm2,\dots \]

就完成了解二元一次不定方程的过程。

打【不严格】的部分是为了可读性省略的部分。如果展开会引入一些过长的概念。

参考资料:潘承洞《初等数论》

标签:dots,方程,frac,二元,min,1x,mid,不定

来源: https://www.cnblogs.com/MyNameIsPc/p/11215224.html

c语言计算二元一次不定方程,二元一次不定方程的解相关推荐

  1. 适定、超定和欠定方程及压缩传感技术

    原文"适定.超定和欠定方程",链接http://blog.sina.com.cn/s/blog_4b700c4c0102e5v3.html. 不定方程 http://wenku.b ...

  2. 适定、超定和欠定方程的概念

    矩阵的每一行代表一个方程,m行代表m个线性联立方程. n列代表n个变量.如果m是独立方程数,根据m<n.m=n.m>n确定方程是 '欠定'.'适定' 还是 '超定'. 超定方程组:方程个数 ...

  3. 超定和欠定方程的概念

    矩阵的每一行代表一个方程,m行代表m个线性联立方程. n列代表n个变量.如果m是独立方程数,根据m<n.m=n.m>n确定方程是 '欠定'.'适定' 还是 '超定'. 超定方程组 :方程个 ...

  4. 数学物理方程 第一章 数学物理方程及其定解问题

    微分方程包括:常微分方程ode与偏微分方程pde 偏微分方程阶数:方程中存在的最高阶数 线性偏微分方程:方程中未知函数u及其导数都是线性的 齐次偏微分方程:齐次+线性偏微分方程,齐次是指f(x,t)= ...

  5. 【数理方程】定解问题

    数理方程 数学物理方程是研究物理.力学.工程技术及其他自然科学时,经一些简化得到的一些偏微分方程,反映客观世界物理量之间关系.这些偏微分方程研究物理量在空间的分布规律和在时间的变化规律. 课程内容:3 ...

  6. matlab 根式化简,薛定宇教授大讲堂(卷Ⅳ):MATLAB最优化计算最新章节_薛定宇著_掌阅小说网...

    2.2 非线性方程的图解法 如果方程含有一个或两个未知数,则可以通过图解法求解方程.如果未知数过多,则不适合使用图解法,而应该尝试其他方法.本节将介绍一元与二元方程的图解方法,并分析总结图解法的优势与 ...

  7. 有限差分方程c语言,规则网格有限差分解声波方程个人总结报告规则网格有限差分解声波方程个人总结报告.doc...

    规则网格有限差分解声波方程个人总结报告规则网格有限差分解声波方程个人总结报告 地球探测科学与技术学院 总 结 报 告 学 校:吉林大学 学 院:地球探测科学与技术学院 专 业:勘查技术与工程(应用地球 ...

  8. 电力系统matlab实验报告,基于matlab语言计算电力系统暂态稳定仿真程序实验报告.docx...

    基于matlab语言计算电力系统暂态稳定仿真程序实验报告 BeijingJiaotongUniversity 电力系统分析 暂态稳定分析实验 学院:电气工程学院 班级:xxxxxxxx 学号:xxxx ...

  9. c语言编程gps卫星坐标计算公式,C语言计算GPS卫星位置演示教学.doc

    C语言计算GPS卫星位置演示教学.doc C语言计算GPS卫星位置1 概述在用GPS信号进行导航定位以及制订观测计划时,都必须已知GPS卫星在空间的瞬间位置.卫星位置的计算是根据卫星电文所提供的轨道参 ...

  10. c语言实现gps坐标转化,C语言计算GPS卫星位置

    <C语言计算GPS卫星位置>由会员分享,可在线阅读,更多相关<C语言计算GPS卫星位置(8页珍藏版)>请在人人文库网上搜索. 1.C 语 言 计 算GPS卫星位置1 概述在用G ...

最新文章

  1. 安装win7操作系统
  2. @RequestBody、@RequestParam、@Param 的详解
  3. Linux 进程间通讯详解五
  4. WSDM 2020 | RMRN:社区问答中的深度关联推理模型
  5. c# 运算符 ? ??
  6. Java 14:记录
  7. Git初学札记(二)————EGit导入远程Git仓库项目(Clone操作)
  8. CVPR 2021 出自港中文,对抗变换提高对抗样本的可迁移性
  9. 我的考研~~~3-4月份总结
  10. serialize()与unserialize()
  11. 非递归方式对二叉树进行前序、中序、后序遍历(C++实现)
  12. 降维系列之 SNE与t-SNE
  13. AnyLogic建模笔记
  14. SVN :one or more files are in a conflicted state 一个或多个文件处于冲突状态
  15. visio图片导入word和PPT的最清晰的方式
  16. 鸥玛软件在深交所创业板挂牌上市,系山东大学间接控股企业
  17. CommandBuffer.Blit BuiltinRenderTextureType.CameraTarget为空的问题
  18. linux装入归档文件时,装入归档文件时发生了错误!!怎么解决?
  19. 关于学习vue.js前端遇到的问题总结
  20. Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足

热门文章

  1. 如何一键录制4k8k高清视频?
  2. 中国科学院大学2019年高等代数考研试题
  3. 语义分析(输出四元式)
  4. ACL2021 | 任务型和开放域对话系统
  5. mysql查看表编码_MySQL中使用SQL语句查看某个表的编码方法
  6. 【MyBatis基础】(09)- 逆向工程(代码自动生成)
  7. 不满被解雇 又一程序员删库跑路!
  8. C语言实现任何文件的加密解密
  9. 捷径app 未能连接到服务器,iOS13快捷指令无法添加第三方捷径的解决办法
  10. BP,RNN 和 LSTM暨《Supervised Sequence Labelling with Recurrent Neural Networks-2012》阅读笔记