数论与整数方法

不定方程的整数解

范围定边界,余数定步长,再代回数解。

下载视频 ↗
01

六十元的票,怎样不重不漏地找?

自拟题:四元票买 x 张,七元票买 y 张,共花60元,两类均允许买零张。求所有非负整数解,即 x≥0、y≥0 且都是整数。每一组 (x,y) 是一种买法。

4x+7y=60

第1步 / 共5步:先确定范围

7y≤60,所以 y 只能取0到8,共9个整数候选。x 随 y 唯一确定。

012345678

对应左侧当前步骤

先缩小范围

9个候选

这里的9表示 y 的候选数,还不是合法解数。下一步利用余数条件筛掉不可能的数量。

票面矩形只表示一张票,不以面积表示价格;交换只在整数端点计数。

02

学习准备与范围

学会给变量设整数范围,用整除与余数压缩枚举,并解释答案为什么不重不漏。前置:一元一次方程、整数四则运算、整除、除法余数、最大公因数。若尚未学习负整数,可先完成买票模型;一般整数边界可后读。

本页仅讨论两个未知数的一次整数条件,主要形式 ax+by=c,其中 a、b、c 是给定正整数。x、y 的范围由题意另定。本页不覆盖二次、高次或一般不定方程。

S班是本项目的深度编排,涉及余数筛选与带下限的数解,不代表已核实的当地官方六上必学课纲。

03

余数如何把连续尝试变成等步长?

先分清三种范围

“整数”允许负数与0;“非负整数”包含0、排除负数;“正整数”从1开始。一个方程可能有无穷多整数解,却只有有限多个非负整数解。买票、人数等数量通常另有非负或正数条件。

一、范围使枚举有限

在 ax+by=c 中,若 a、b>0 且 x、y≥0,则 by≤c,所以 0≤y≤⌊c/b⌋。符号 ⌊u⌋ 表示不超过 u 的最大整数。选定 y 后,x=(c−by)/a,不需要同时盲试两个变量。

二、余数保证 x 是整数

要使 x=(c−by)/a 为整数,必须且只须 c−by 能被 a 整除。买票题中,60与4x都能被4整除,所以7y也必须能被4整除。因为7=4+3,只须判断3y的余数。

y除以4的余数3y除以4的余数是否保留
00保留
13排除
22排除
31排除

因此 y 只能是4的倍数,在0到8内只剩0、4、8。记作 y≡0(mod 4),意思是 y 除以4余0。不是“看到7就令 y 是7的倍数”,筛选的除数来自要消去的4x。

三、代回与完整性

对保留的每个 y 计算 x,再检查所有范围和附加条件。任一合法解必落在已列的范围内,也必通过整除条件,所以不会漏掉;每个 y 只决定一个 x,所以不会重复。

S班结构:解为什么有固定步长?

对于两个解 (x₁,y₁)、(x₂,y₂),两式相减得 a(x₂−x₁)=−b(y₂−y₁)。设 d 是 a、b 的最大公因数,约去 d 后两个系数互质,所以 y 的差必须是 a/d 的倍数,x 的差相应为 −b/d 的倍数。本页主例中 d=1,得到步长 Δy=4、Δx=−7。

x=15−7t,y=4t,t 为整数

非负条件给 t≥0、t≤15/7,因此 t=0、1、2,共3组。这里 t 表示交换次数,不是新增未知物品。若允许所有整数,任意整数 t 都成立,就有无穷多组。

04

完整例题:从基本枚举到带下限数解

例题一|两种票允许零张

四元票 x 张、七元票 y 张,共60元,x、y 为非负整数。求所有买法。

  1. 由7y≤60,得 y=0、1、…、8。
  2. 4x=60−7y。右侧被4整除,当且仅当 y 被4整除,所以 y=0、4、8。
  3. 逐一计算 x:(60−0)/4=15;(60−28)/4=8;(60−56)/4=1。
  4. 得到有序对 (15,0)、(8,4)、(1,8),共3组。验算为60+0、32+28、4+56,都等于60。

若要求两类都至少1张,只保留后两组,共2组。不能在数非负解时提前排除零。

例题二|不同的下限,不能只看余数

6元笔记本 x 本、10元笔记本 y 本,共花86元。6元本至少2本,10元本至少1本,问共有多少种买法?

  1. 写条件:6x+10y=86,x≥2、y≥1,且均为整数。约去2,得3x+5y=43。
  2. 利用下限限范围:6x至少12元,所以10y≤74,得1≤y≤7。不能只用 y≤8 后忘记 x≥2。
  3. 按3筛选:43除以3余1,5y与2y的余数相同,故2y除以3余1,只有 y 除以3余2时成立。范围内 y=2、5。
  4. 代回:y=2时 x=(43−10)/3=11;y=5时 x=(43−25)/3=6。
  5. 核查所有条件:两组 (11,2)、(6,5) 均满足 x≥2、y≥1,原式分别为66+20=86、36+50=86。因此共2种。

如果只解约分后的方程,还会看到 (1,8)。它满足等式,却违反 x≥2,不能计入。相邻合法解的 x 减少5、y增加3,价值变化均为30元。

05

迁移练习:先写范围,再展开解析

例题与练习均为本页自拟教学题。

练习一|零解与正解的差别

求5x+8y=64的所有非负整数解。如果改成正整数解,有几组?

查看完整解析

0≤y≤8。8y除以5的余数要与64相同,即3y除以5余4。检查余数可得 y 除以5余3,所以 y=3、8。

代回 x=(64−8y)/5:y=3时 x=8;y=8时 x=0。非负整数解为(8,3)、(0,8),共2组。验算40+24=64、0+64=64。改为正整数时,去掉 (0,8),仅剩1组。

练习二|还值得逐个试吗?

求6x+10y=7的整数解。若改成非负整数解,结论会改变吗?

查看完整解析

6x和10y都是2的倍数,即使 x、y 是负整数,左边仍为偶数。右边7为奇数,因此没有整数解。非负整数只是整数的一部分,也没有解。

先查最大公因数:6与10的最大公因数是2,而2不能整除7,已足以判无解,无须设置很大的试数表。

06

易错、反例与回顾

确定整数种类与附加条件 → 用范围划定候选 → 用整除余数压缩 → 代回检查 → 说明不重不漏。要数解,先回答“哪些值可取”,再回答“每个值是否合格”。

07

逐章回看

文字稿默认展开。点击章节标题,定位到视频中的对应讲解。

四元和七元的两类票,共花六十元,各买多少张?设张数为 x 和 y,允许零张。

七元票最多八张。先把 y 限定为零到八的整数,避免漫无边际地试。

总价六十和四元票的钱都是四的倍数,所以七倍的 y 也必须是四的倍数。

七除以四余三。检查 y 的四类余数,只有余零时合格。因此只试零、四、八。

逐个代回,得到十五和零、八和四、一和八。三组都满足总价六十元。

范围已经穷尽,余数筛选又是必要条件。每个合格的 y 只对应一个 x,所以不重不漏。

看相邻两组解:七元票增加四张,四元票减少七张。两边都变化二十八元。

整数解沿固定步长移动。继续走到负数,就越过了买票数量的边界。

若两类票都至少一张,十五和零要删去,只剩两组。整数解不等于正整数解。

还要先看能否整除。例如六倍 x 加十倍 y 等于七,左边必为偶数,所以无整数解。