【蓝桥杯】简单数论4——丢番图方程
创始人
2024-05-25 23:58:54
0

1、二元线性丢番图方程

方程ax +by = c被称为二元线性丢番图方程,其中a、b、c是已知整数,x、y是变量,问是否有整数解
ax + by= c实际上是二维x-y平面上的一条直线,这条直线上如果有整数坐标点,方程就有解,如果没有整数坐标点,就无解。

 如果存在一个解,就有无穷多个解。

1.1有解的判断条件和通解的形式

定理:设a,b是整数gcd(a, b)=d。如果d不能整除c,那么方程ax + by=c没有整数解,如果d能整除c,那么存在无穷多个整数解。

解释:令a=da',b= db';有ax+by = d(a' x +b'y)=c;如果x、y、a'、b'都是整数,那么c必须是d =gcd(a, b)的倍数,才有整数解

如果(x_0,y_0)是方程的一个特解,所有的解(通解)可的形式x=x_0 +(b/d)n,y= y_0 - (a/d)n,其中n是任意整数。

 

说明: x值按b/d递增,y值按- a/d递增。设(x_0,y_0)是一个格点(格点是指x、y坐标均为整数的点),移动到直线上另一个点(x_0+\Delta x,y_0+\Delta y),有a\Delta x+b\Delta y=0。△x和Ay必须是整数,(x_0+\Delta x,y_0+\Delta y)才是另一个格点。  

\Delta x最小是多少?因为a/d与b/d互素,只有\Delta x = b/d,\Delta y =- a/d时,\Delta x\Delta y才是整数,并满足a\Delta x +b\Delta y = 0。 

定理概况为: ax + by= c有解的充分必要条件d = gcd(a, b)能整除c

例:
(1)方程18x + 3y = 7没有整数解,因为gcd(18,3) = 3,3不能整除7;

(2)方程25x + 15y = 70存在无穷个解,因为gcd(25,15)= 5且5整除70,一个特解是x_0=4,y_0 = -2,通解是x=4 + 3n,y = -2- 5n

1.2例题一:线段上的格点数量

【题目描述】在二维平面上,给定两个格点p_1=(x_1,y_1)p_2=(x_2,y_2),问线段p_1p_2上除了p_1,p_2外还有几个格点?设x_1< x_2

【思路】
首先利用p_1,p_2把线段表示为方程ax + by = c的形式,它肯定有整数解。
然后在线段范围内,根据x的通解的表达式x = x_0+ (b/d)n,当x_1<x<x_2时,求出n的取值情况有多少个,这就是线段内的格点数量。

计算步骤:

(1)、用p_1(x_1,y_1)p_2(x_2,y_2)表示线段,线段表示为:

(y_2-y_1)x + (x_1-x_2)y = y_2x_1-y_1x_2

(2)、对照ax + by = c,得:
a = y_2-y_1, b = x1_-x_2,c = y_2x_1-y_1x_2

d = gcd(a,b) = gcd(\left | y_2-y_1 \right |,\left |x1-x2 \right |)

(3)、对照通解公式x = x_0+ (b/d)nn,令特解是x,代入限制条件x_1<x<x_2,有:
x_1< x+((x_1-x_2)/d)n < x2

当-d < n< 0时满足上面的表达式,此时n有d-1种取值,即线段内有d-1个格点。

2、方程的特解与扩展欧几里得算法

求解方程ax + by = c的关键是找到一个特解
根据定理的描述,解和求GCD有关;
求特解用到了欧几里得求GCD的思路,称为扩展欧几里得算法

2.1扩展欧几里得算法

方程ax + by = gcd(a, b),根据定理,它有整数解
定理:设a, b是整数且gcd(a, b)=d。如果d不能整除c,那么方程ax + by=c没有整数解,如果d能整除c,那么存在无穷多个整数解。
扩展欧几里得算法求一个特解(x_0,y_0)的代码:

def exgcd(a,b):if b == 0:return 1, 0x,y = exgcd(b,a % b)return y, x - a // b * y    # 返回特解xo,yo
a,b = map (int,input ().split())#   试试6x+15y=3
x,y = exgcd (a,b)#计算得到特解
print(x, y)

2.2扩展欧几里得算法与方程ax+by=c的特解

用扩展欧几里得算法得到ax +by =ged(a,b)的一个特解后,再利用它求方程ax +by= c的一个特解。步骤如下:
(1)判断方程ax +by = c是否有整数解,即gcd(a,b)能整除c。记d= gcd(a,b)。
(2)用扩展欧几里得算法求ax + by = d的一个特解x_0,y_0
(3)在ax_0 + by_0= d两边同时乘以c/d,得: ax_0c/d + by_0c/d=c(目的是构造c,这样和ax + by= d就能消掉c)

(4)对照ax +by =c,得到它的一个解(x_0',y_0')是:x_0'= x_0c/d,y_0'= y_0c/d

(5)方程ax + by = c的通解x=x_0'+ (b/d)n,y =y_0' - (a/d)n

 

相关内容

热门资讯

乐山水上乐园哪有? 乐山水上乐园哪有?除了峨眉仙芝的水上乐园,乐山哪里有水上乐园?乐山四中附近真有个什么奥普乐水上乐园嘛...
诛仙传说3攻略 诛仙传说3攻略这是个手机游戏,别跟我说网游的诛仙关于特别职业攻略,建议楼主还是到有关诛仙论坛上面去找...
七雄争霸过100大概需要多少战... 七雄争霸过100大概需要多少战斗力?我是2步,1弓,2器。3.4W就可以了!但是装备强化6,宝石打4...
小壁虎掉在床上 壁虎妈妈回来救... 小壁虎掉在床上 壁虎妈妈回来救它吗,小壁虎就是不跑,壁虎妈妈明明在墙上就是不来救它,我也给让位置哈哈...
蛋糕甜甜的还可以怎么形容? 蛋糕甜甜的还可以怎么形容?回答蛋糕甜甜的还可以怎么形容,入口时嫩嫩的,香气扑鼻,香香的,软软的,真是...
京胡曲牌(夜深沉)除了(霸王别... 京胡曲牌(夜深沉)除了(霸王别姬)在哪些剧目里出现过?夜深沉这首京胡曲牌在中用于虞姬舞剑时所用.除了...
《火影忍者》作者活着? 《火影忍者》作者活着?当然,岸本齐史。画蜡笔小新的那个挂了。当然活着啊,现在漫画不是还在每周更新嘛当...
如何给幼儿园的孩子进行性别教育... 如何给幼儿园的孩子进行性别教育呢?事实上,每个儿童都需要家长的指点,以了解男女的性别之分,区别自己和...
中年男人成语祝福语四字短语? 中年男人成语祝福语四字短语? 新年祝福:往日金戈铁马,今日英姿勃发,踏平坎坷羁绊,一路朝歌彩霞;新年...
请你吃黄瓜十夜灯讲的什么 请你吃黄瓜十夜灯讲的什么《请你吃黄瓜十夜灯》是一部非常有趣的现代言情小说,讲述了女主角陈晨和男主角夜...
属羊的纹身? 属羊的纹身?属羊的人纹身纹什么最好 属羊的 属羊的宜避开『农历』的十二月(丑月),该月与羊相冲。 根...
苹果像什么比喻句怎么写? 苹果像什么比喻句怎么写?红彤彤的,像小孩子的小脸蛋。又像过年时,小孩提着的红灯笼苹果像一个姑娘的小脸...
怎样用松果做手工 怎样用松果做手工将木珠用热溶胶粘到松果上。取一根毛根剪成两长两短四部分当四肢。四肢用热溶胶粘到松果的...
形容很舒适的词语 形容很舒适的词语【安安逸逸】:安闲舒适,自由自在。【安居乐俗】:居住舒适安逸,习俗称心乐意。【安适如...
南宋时期有哪些战役? 南宋时期有哪些战役?钓鱼城、襄樊、崖山除外采石之战 柘皋之战 顺昌战役
总是强迫怀疑自己所说的话 说话... 总是强迫怀疑自己所说的话 说话时候总怕自己把内心同时所想的说了出来 说过话后还不肯定 然后是努力回想...
四月动漫新番更新时间? 四月动漫新番更新时间?就四月上询的样子 其实到时你可以买动感新势力的 会介绍很多动漫的 最近7月 ...
小鸭子在水里游泳怎么形容 小鸭子在水里游泳怎么形容小鸭子在水里游泳的形容如下:1.夏日的午后,小鸭子在池塘里嬉戏玩耍。它们红嘴...
苹果像什么? 苹果像什么?苹果像什么?请学霸告诉我。您好,红红的苹果像灯笼,像太阳,像脸蛋等等,具体衡派可以有以下...
你是我的命中注定拼音? 你是我的命中注定拼音?你是我命中注定的拼音,是太简单了,我们从小学就开始学开了你是我的命中注定拼音:...