
武蔵野個別指導塾の特徴
高校数学A 一次不定方程式—一組の整数解を見つけて全ての解を文字で表す|武蔵野個別指導塾

一組で止めず、任意の解との差をとって一般解にまとめる手順を扱い、互除法の逆算と最大公約数による存在判定をつなぎます。
よくあるのは、定期テスト前に一次不定方程式を解いて、一組の整数解を見つけたところで解答を終えるという場面です。元の式に代入して合うことは確かめられても、別の解がないかはまだ調べていません。一組の解を出発点にして、他の解との差を調べると、見つかる解をまとめて表せます。
何を答えればよいか
一次不定方程式は、ここでは整数係数の式 ax + by = c を整数 x、y について考えるものです。x と y はどちらも負や 0 を含む整数です。文字が2つある式を見て、片方に適当な数を入れれば一組を見つけられることもあります。しかし「整数解を全て求めよ」とあれば、見つけた一組だけでは答えが足りません。
出方には、互除法を使って一組を求め、全ての整数解を表す型があります。また、右辺が係数の最大公約数で割り切れるか調べ、整数解が存在するか判定する型もあります。さらに、両辺に共通因数があるとき、先に割ってから一般解を作る型があります。いずれも、最後に求めた組が元の式に戻ることを確認します。
答えを文字で表すときは、その文字の範囲も必要です。たとえば t を整数と書けば、正負や 0 のどの値でも使えます。一方、t を実数としたら整数でない組まで含まれます。以下では解の個数を正の範囲に絞る問題には広げず、整数全体での解を扱います。
一組から全体へつなぐ理由
a、b をともに 0 でない整数、c を整数とします。a と b の最大公約数を正の整数 d とすると、ax + by は必ず d の倍数です。したがって c が d の倍数でなければ整数解はありません。逆に c が d の倍数なら、互除法を逆にたどって d を a と b の整数倍の和で表し、その式を c/d 倍することで一組の整数解を作れます。存在判定は必要条件だけでなく、逆向きも成り立つ判定です。
一組の解を x₀、y₀ とし、a = dA、b = dB とおきます。A と B は互いに素です。別の整数解 x、y との差をとると、A(x − x₀) = -B(y − y₀) です。左辺が B の倍数で、A と B は互いに素なので、x − x₀ は B の倍数です。そこで整数 t を用いて x − x₀ = Bt と書けます。これを差の式に戻すと y − y₀ = -At です。

図1のように、一組を起点として x を B ずつ増やすと、y を A ずつ減らせば式の値が変わりません。t が負なら逆向きに動きます。この考えから一般解は x = x₀ + Bt、y = y₀ − At、t は整数です。差の議論で他の解がこの形に入ることを示し、代入でこの形の全てが解であることも示します。両方向の確認で、余分な組と取りこぼしの両方を防げます。
係数が互いに素でない場合、増減に使うのは元の係数そのものではなく、最大公約数で割った A、B です。たとえば両係数が偶数なら、両方をそのまま増減に使うと途中の解を飛ばすことがあります。まず存在を判定し、割れる場合は約分した式で差をとる順番が役立ちます。
互除法の逆算が使えるわけ
正の整数を大きい方から割ると、割られる数は「割る数 × 商 + 余り」と書けます。2つの数をともに割る整数はその差である余りも割ります。逆に、割る数と余りをともに割る整数は、商を掛けて足した元の数も割ります。このため、2数の公約数と、割る数・余りの公約数は同じです。余りを次の除数にして続ければ、最後に残る 0 でない余りが最大公約数です。
逆算では最後の余りから始めます。各行を変形して余りを1つ前の2数で表し、順に代入します。途中のかっこの前にマイナスがあると、かっこ内の各項の符号が変わります。展開のたびに元の行と等しいかを見直せば、符号の間違いを早く発見できます。
最大公約数そのものを表せたら、右辺がその倍数である式にも利用できます。たとえば最大公約数を 1 として表した式を両辺 3 倍すれば、右辺が 3 の式の一組になります。負の数を掛ける場合も同じですが、両係数の符号に注意します。最初から大きな数を当てずに済むことが、逆算の利点です。
倍数といえるところを省かない
互いに素な整数 A、B について、A とある整数の積が B の倍数なら、その整数は B の倍数です。これは A と B に共通する素因数がないためです。B の素因数は必要な個数だけ相手の整数の側に含まれます。差の式でこの性質を使うときは、互いに素かを確認してから結論を書きます。
係数を最大公約数で割らずにこの性質を使うと、結論が強すぎることがあります。たとえば 6 と 4 は互いに素ではなく、6 × 2 は 4 の倍数ですが、2 は 4 の倍数ではありません。まず共通因数を除いてから差を扱う理由が、ここにあります。
基本例題:逆算を一行ずつ追う
例題1 整数 x、y について 17x + 12y = 1 を満たす整数解を全て求め、整数 t を使って表しなさい。
まず 17 と 12 の最大公約数を、余りで割る操作で調べます。商と余りを間違えないように、各行を元の割り算として確かめます。
17 = 12 × 1 + 5
12 = 5 × 2 + 2
5 = 2 × 2 + 1
最後の 0 でない余りが 1 です。1 は最大公約数の倍数なので整数解が存在します。最後の行から 1 を取り出し、余りを前の行の式に置き換えます。
1 = 5 − 2 × 2
2 = 12 − 5 × 2
1 = 5 − (12 − 5 × 2) × 2
= 5 × 5 − 12 × 2
ここで現れる 5 も、最初の行から 17 − 12 です。元の係数だけになるまで代入を続けます。
1 = (17 − 12) × 5 − 12 × 2
= 17 × 5 − 12 × 7
よって x = 5、y = -7 が一組です。17 × 5 + 12 × (-7) = 85 − 84 = 1 と、元の右辺に戻ることを確認できます。

図2のように余りを逆順に置き換えると、1 が 17 と 12 の整数倍の和で表れます。ここで終えず、任意の整数解との差を調べます。x、y を任意の整数解とすると、見つけた式を引いて
17(x − 5) + 12(y + 7) = 0
17(x − 5) = -12(y + 7)
となります。17 と 12 は互いに素なので、x − 5 は 12 の倍数です。整数 t を用いて x − 5 = 12t とおくと、17 × 12t = -12(y + 7) から y + 7 = -17t です。したがって答えの候補は
x = 5 + 12t、y = -7 − 17t、t は整数
です。逆に任意の整数 t について代入すると、17(5 + 12t) + 12(-7 − 17t) = 85 − 84 + 204t − 204t = 1 です。両方の値も整数なので、候補は全て元の条件を満たします。差の議論によって他の整数解もこの形に入るため、これが全てです。
たとえば t = 1 なら (17, -24)、t = -1 なら (-7, 10) です。それぞれ 289 − 288 = 1、-119 + 120 = 1 と戻ります。出発点として別の一組を使っても、整数 t の取り方をずらせば同じ解の集まりになります。
右辺が最大公約数の倍数かを先に見る
例題2 整数 x、y について 18x + 30y = 42 を満たす整数解を全て求め、整数 t を使って表しなさい。また、右辺を 41 に変えた場合に整数解があるか答えなさい。
18 と 30 の最大公約数は 6 です。42 は 6 の倍数なので解は存在します。式の両辺を 6 で割り、同じ整数 x、y に対する式 3x + 5y = 7 に直します。左辺は 3 × (-1) + 5 × 2 = 7 ですから、一組は x = -1、y = 2 です。元の式でも -18 + 60 = 42 と確かめられます。
任意の整数解からこの一組を引くと、3(x + 1) = -5(y − 2) です。3 と 5 は互いに素なので、x + 1 = 5t とおけます。ただし t は整数です。代入すると y − 2 = -3t となり、
x = -1 + 5t、y = 2 − 3t、t は整数
を得ます。実際に元の左辺へ戻すと、18(-1 + 5t) + 30(2 − 3t) = 42 です。差の式から任意の解がこの形に入るので、これで全てです。
右辺を 41 に変えると事情が変わります。18x と 30y はどちらも 6 の倍数なので、その和も 6 の倍数です。しかし 41 は 6 の倍数ではありません。どれほど x、y を試しても左辺は 41 にならず、整数解はありません。右辺が割り切れない場合に、途中で切り捨てて式を約分してはいけません。
一組で止めた答案を直す
例題1に対して「x = 5、y = -7。以上」と書くと、この組が解であることは正しいものの、全て求めたことにはなりません。実際、図3のように x に 12 を加え、y から 17 を引いた組も解です。左辺の変化は 17 × 12 − 12 × 17 = 0 です。

図3では、2つ目の組があることで、一組だけの答案が不足しているとわかります。ただし2組を並べても、まだ他の解の有無は証明できません。差をとり、互いに素な係数を使って整数 t で表すことが修正の中心です。
もう一つの誤りは、例題2で x = -1 + 30t、y = 2 − 18t として全解とすることです。この形も代入すれば元の式を満たしますが、t = 1 に対応する (-1 + 5, 2 − 3) = (4, -1) は含められません。18 × 4 + 30 × (-1) = 42 なので、確かに漏れた解です。係数を最大公約数 6 で割り、5 と 3 の刻みを使い直します。代入だけでは解の漏れを見つけられないため、任意の解との差を調べる必要があります。
一般解の文字を変えると見た目が変わることもあります。例題1で t の代わりに -s を用いれば、x = 5 − 12s、y = -7 + 17s と書けます。s が整数全体を動くと -s も整数全体を動くので、表している組は同じです。符号が違うという見た目だけで誤りと決めず、文字の対応を確かめます。
練習問題
いずれも x、y は負と 0 を含む整数です。解がある場合は整数 t を使って全ての整数解を表し、解がない場合はその理由を答えてください。
- 7x + 4y = 3 を解きなさい。
- 14x + 21y = 35 を解きなさい。
- 12x + 20y = 9 を解きなさい。
- 11x − 8y = 6 を解きなさい。
練習の答えと解き方
-
7 × 1 + 4 × (-1) = 3 なので、一組は (1, -1) です。任意の解との差から 7(x − 1) = -4(y + 1) となります。7 と 4 は互いに素なので x − 1 = 4t、y + 1 = -7t です。答えは x = 1 + 4t、y = -1 − 7t、t は整数です。代入すると 7 + 28t − 4 − 28t = 3 で、元の条件を満たします。差の式によって任意の解がこの形に入ります。
-
14 と 21 の最大公約数 7 は 35 を割り切ります。両辺を 7 で割ると 2x + 3y = 5 で、一組は (1, 1) です。差の式 2(x − 1) = -3(y − 1) より、x − 1 = 3t、y − 1 = -2t と書けます。答えは x = 1 + 3t、y = 1 − 2t、t は整数です。元の左辺は 14(1 + 3t) + 21(1 − 2t) = 35 で、差の式から他の解も全て含まれます。
-
12 と 20 の最大公約数は 4 ですが、9 は 4 の倍数ではありません。左辺は整数 x、y のどの組でも 4 の倍数なので、元の右辺 9 にはならず、整数解はありません。両辺を 4 で割った後に右辺を整数に丸めてはいけません。
-
11 × 2 − 8 × 2 = 6 なので、一組は (2, 2) です。差をとると 11(x − 2) = 8(y − 2) です。11 と 8 は互いに素なので x − 2 = 8t とおけ、y − 2 = 11t です。答えは x = 2 + 8t、y = 2 + 11t、t は整数です。元の式に戻すと 11(2 + 8t) − 8(2 + 11t) = 6 です。差の式は任意の解について成り立つので、これ以外に漏れはありません。負の係数では、2つの変化が同じ符号になる点にも注意します。
要点を手元に残す
最大公約数が右辺を割らなければ整数解はありません。
割り切れるときは、逆算などで一組を見つけます。
任意の解との差から、互いに素な係数を使って一般解を作ります。
整数文字の範囲、代入、全てを含む理由を確かめます。
途中式のどこで迷ったか
一組を見つけた後に手が止まる場合は、まず任意の解を x、y として、見つけた組の式を引く行を説明してみます。その後、なぜ差が約分後の係数の倍数になるかを声に出すと、互いに素という条件が使えているか見えます。
個別指導で確かめるなら、互除法の余りの置き換えで符号が変わる箇所と、最大公約数で割った後の刻みを本人に説明してもらいます。代入が合うのに全解と言えない答案では、漏れた具体例を探し、任意の解を含む証明まで戻ります。一組を起点に差を追えば、整数解の広がりを式に表せます。
読んで終わりにするか、ここから変えるか。
武蔵境駅徒歩30秒、講師1人に生徒1人の完全1対1。授業のあいだ、先生は隣を離れません。いまの詰まりを、無料相談でそのまま話してください。
まず15分だけ電話で話したい方は、無料電話相談(15分)から。塾からお電話を差し上げます。
本気になった日が、入塾の日。
お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。
電話は年中無休。365日、24時間、お電話可能。




