博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数论概论——第六章
阅读量:5066 次
发布时间:2019-06-12

本文共 1101 字,大约阅读时间需要 3 分钟。

第六章 线性方程与最大公因数

 

书上有一段是这样写的:

本章就是要研究与方程 ax + by = gcd(a,b) 有关的性质和结论。

 

解法,用欧几里德算法,也就是5.1介绍的算法。

数论,都是研究整数范围之内的东西,

既然是讨论整数解的问题,那么就会先考虑在何种情况下有解,在何种情况下无解。

所以这里也是一样,研究的是线性方程和整数解的关系。

 ax + by = gcd(a,b) 

这个其实是特殊的形式,

解法用的是欧几里德算法

对于一般形式

如果对于一般形式:ax+by=c,我们可以在左边提出公因式gcd(a,b),那么得到

也就是说,左边能保证是一个整数,因为x和y是我们要求的整数解,而显然有gcd(a,b)|a和gcd(a,b)|b,因此如果右边c不能整除gcd(a,b),那么这个方程显然是无解的,也就是说,这个方程如果c不是gcd(a,b)的倍数,那么该方程无解。

那如果c是gcd(a,b)的倍数,是不是一定有解呢?如果ax+by=gcd(a,b)有解x'和y',那么ax+by=k*gcd(a,b)也一定有解,因为可以让x'和y'同乘以k得到一组解满足该方程,其实可以用欧几里得算法求ax+by=gcd(a,b)的解,解法如下:

 

                      

其中左边是我们熟悉的欧几里得算法,右边是将欧几里得算法的加法变成了减法,而a和b的最大公约数rn-1最终也能写成 k'a+k''b的形式,因此总能找到ax+by=gcd(a.b)的整数解,那么综上所述,式ax+by=c,如果c是gcd(a,b)的倍数,那么该式总能找到整数解,否则找不到整数解。因为该算法是由欧几里得算法拓展而来,故名为拓展欧几里得算法。

 

那么得到了ax+by=gcd(a,b)的一个特解,那么如果得到了gcd(a,b)=1时的通解,那么gcd(a,b)<>1的通解就很显而易见了。当gcd(a,b)=1时,通解应该是(x'+kb,y'-ka),因为将其代入公式a(x'+kb)+b(y'-ka)=ax'+by'=c,另外也可以从几何上考虑,做出ax+by=gcd(a,b)的图像,在此假设a=2,b=3,因此gcd(a,b)=1

其中的点为x和y均为整数的点,假设我们确定了(x',y'),那么求下一个x''和y''可以假设

因为要求x''和y''要是整数,故t为b的倍数,因此将t=kb代入上述方程组中即得到下一个解。而当gcd(a,b)<>1时,可以将gcd(a,b)除到左边,即:

         那么通解即为
 
 
这个叫做
线性方程定理

转载于:https://www.cnblogs.com/Lee-geeker/p/3253223.html

你可能感兴趣的文章
Flex Accordion 和 TabNavigator组件浏览器跳转问题
查看>>
服务器环境配置点滴
查看>>
jsp HTTP Status 405 - HTTP method GET is not supported by this URL
查看>>
CodeIgniter模型
查看>>
jQuery的位置信息和事件
查看>>
BZOJ - 2744 朋友圈 (二分图上的最大团)
查看>>
CSS布局
查看>>
2013/8月读书计划
查看>>
关于Struts2的通配方法、转发重定向
查看>>
网络工程:1.2 CISCO 路由设备登录命令
查看>>
myeclipse中ALT+/怎么不管用了
查看>>
Linux下高并发socket最大连接数所受的各种限制
查看>>
kbmmw 5.06.00 beta 发布
查看>>
java ee思维导图
查看>>
iOS开发网络篇—HTTP协议 分类: ios开发 ...
查看>>
金九银十,史上最强 Java 面试题整理。
查看>>
hdu 5430 Reflect (数学推导题)
查看>>
hdu 3635 Dragon Balls(并查集应用)
查看>>
Intersection - POJ 1410(线段与矩形是否相交)
查看>>
黑马程序员之单例模式学习
查看>>