markdown
ユークリッドの互除法と一次不定方程式md 1fdb144
lecture/math/algebra/euclidean-algorithm-and-linear-diophantine-equations.lecture.n.md
Download PDF

ユークリッドの互除法ごじょほうと一次いちじ不定方程式ふていほうていしき

date2026-07-14document_iddoc_08e6e0e0e25a04a4f6b40b2a321152a9descriptionユークリッドの互除法を最大公約数を余りへ落として保つ手順として説明し、拡張互除法・一次不定方程式の可解条件・mod逆元との関係を整理する。prerequisites整数の性質の基本 / 合同式と余りの基本 / 文字式の基本type講義content_typelecturestatusactiverelateddata/lecture/math/algebra/integer-properties.lecture.n.md / data/lecture/math/algebra/congruences-and-remainders.lecture.n.md / data/lecture/math/number-theory/number-theory-portal.lecture.n.md / data/lecture/math/abstract-algebra/congruences-and-modular-arithmetic.lecture.n.md / data/lecture/math/number-theory/continued-fraction-expansions.lecture.n.md / data/lecture/math/number-theory/chinese-remainder-theorem.lecture.n.md / data/lecture/math/abstract-algebra/field-basics.lecture.n.md / data/reference/math/algebra/gcd-and-linear-diophantine-techniques.reference.n.md / data/exercise/math/algebra/euclidean-algorithm-and-linear-diophantine-equations.exercise.n.md
mathalgebranumber-theoryhighschoolundergraduatelecture

1導入どうにゅう

この講義こうぎでは、最大公約数さいだいこうやくすうは余あまりへ落おとしても変かわらず、その事実じじつを逆向ぎゃくむきにたどると ax+by=d の形かたちの方程式ほうていしきが解とけることを説明せつめいする。

互除法ごじょほうを「[PARSE ERROR: Undefined("Command(\"gcd\")")] を求もとめる手順てじゅん」としてだけ覚おぼえると浅あさい。本質ほんしつは、整数せいすうの割わり算ざんの構造こうぞうと一次いちじ不定方程式ふていほうていしきの可解条件かかいじょうけんを結むすぶ中心的ちゅうしんてきな道具どうぐである。

2用語ようごと定義ていぎ

2.1最大公約数さいだいこうやくすうGreatest common divisor

[PARSE ERROR: Undefined("Command(\"gcd\")")](a,b) とは、a と b の共通きょうつう約数やくすうのうち最大さいだいのものである。[PARSE ERROR: Undefined("Command(\"gcd\")")](a,b)=d は「a と b を公平こうへいに割わり切きれる最大さいだいの単位たんい」を意味いみする。

2.2一次いちじ不定方程式ふていほうていしきLinear Diophantine equation

ax+by=c

のように、係数けいすうが整数せいすうで整数解せいすうかいを求もとめる方程式ほうていしきを一次いちじ不定方程式ふていほうていしきLinear Diophantine equationという。

「不定ふてい」の命名めいめい:解かいが一意いちいでなく(不定ふてい=定さだまらない)、無数むすうに存在そんざいし得うることから命名めいめい。Diophantine(ディオファントス)はこの種類しゅるいの方程式ほうていしきを研究けんきゅうした 3 世紀せいきのギリシャ数学者すうがくしゃの名なに由来ゆらい。

2.3ユークリッドの互除法ごじょほう

「互ご」の命名めいめい:互たがいに除わり合あう操作そうさの繰くり返かえしから命名めいめい。英語えいご Euclidean algorithm(ユークリッドの算法さんぽう)は古代こだいギリシャの数学者すうがくしゃユークリッドが著書ちょしょ「原論げんろん」(紀元前きげんぜん 3 世紀せいき)に記しるしたことから命名めいめい。

3方針ほうしん

[PARSE ERROR: Undefined("Command(\"gcd\")")](a,b)=[PARSE ERROR: Undefined("Command(\"gcd\")")](b,r)(a=bq+r)を繰くり返かえし、余あまりが 0 になった直前ちょくぜんの値ちが [PARSE ERROR: Undefined("Command(\"gcd\")")] である。そのあと逆向ぎゃくむきに代入だいにゅう(拡張互除法かくちょうごじょほう)して [PARSE ERROR: Undefined("Command(\"gcd\")")](a,b)=ax+by の形かたちに表現ひょうげんする。

4厳密げんみつな説明せつめい

4.11. なぜ余あまりへ落おとしてよいか

a=bq+r のとき、a と b の共通きょうつう約数やくすう d は r=a-bq も割わるので d は b と r の共通きょうつう約数やくすうでもある。逆ぎゃくも同様どうように成立せいりつするので

[PARSE ERROR: Undefined("Command(\"gcd\")")](a,b)=[PARSE ERROR: Undefined("Command(\"gcd\")")](b,r)

余あまりへ落おとしても共通きょうつう約数やくすうの集合しゅうごうが変かわらない—これが互除法ごじょほうの核心かくしんである。

4.22. ユークリッドの互除法ごじょほう(例れい:[PARSE ERROR: Undefined("Command(\"gcd\")")](84,30))

ステップ割わり算ざん余あまり
184=30×2+24r=24
230=24×1+6r=6
324=6×4+0r=0 → 終了しゅうりょう

[PARSE ERROR: Undefined("Command(\"gcd\")")](84,30)=6。

4.33. 拡張互除法かくちょうごじょほう:[PARSE ERROR: Undefined("Command(\"gcd\")")] を ax+by の形かたちへ

ステップ 2 から逆向ぎゃくむきに代入だいにゅうする:

6=30-24×1

ステップ 1 より 24=84-30×2 を代入だいにゅう:

6=30-(84-30×2)=3×30-84=(-1)×84+3×30

したがって x=-1, y=3 が一ひとつの解かいである。

4.44. 一次いちじ不定方程式ふていほうていしきの可解条件かかいじょうけん

ax+by=c が整数解せいすうかいを持もつための必要十分条件ひつようじゅうぶんじょうけん:

[PARSE ERROR: Undefined("Command(\"gcd\")")](a,b)∣c

証明しょうめい(必要ひつよう条件じょうけん):d=[PARSE ERROR: Undefined("Command(\"gcd\")")](a,b) とすると a=da′, b=db′ なので ax+by=d(a′x+b′y) は必かならず d の倍数ばいすう。

証明しょうめい(十分じゅうぶん条件じょうけん):c=dk かつ d=ax0+by0 なら c=a(kx0)+b(ky0)。

一般解いっぱんかい:一ひとつの解かい (x0,y0) があれば全解ぜんかいは

x=x0+bdt,y=y0-adt(t∈Z)

この式しきが全解ぜんかいを与あたえることを両方向りょうほうこうから確認かくにんする。まず、この式しきを左辺さへんへ代入だいにゅうすると、t を含ふくむ部分ぶぶんは

abdt-badt=0

と相殺そうさいする。したがって、すべての t∈Z について元もとの方程式ほうていしきを満みたす。

逆ぎゃくに、(x,y) を任意にんいの解かいとする。(x0,y0) も解かいなので、差さを取とると

a(x-x0)+b(y-y0)=0

である。a=da′、b=db′、[PARSE ERROR: Undefined("Command(\"gcd\")")](a′,b′)=1 と書かけば、a′(x-x0)=-b′(y-y0) である。互たがいに素そであることから b′∣(x-x0) なので、ある t∈Z により x-x0=b′t=(b/d)t と書かける。これを差さの式しきへ戻もどすと y-y0=-a′t=-(a/d)t を得える。よって任意にんいの解かいが上うえの形かたちに含ふくまれ、これが全解ぜんかいである。

4.55. mod 逆元ぎゃくげんとの関係かんけい

ax≡1[PARSE ERROR: Undefined("Command(\"pmod\")")]n が解とけることと [PARSE ERROR: Undefined("Command(\"gcd\")")](a,n)=1 は同値どうちである。これは ax+ny=1(一次いちじ不定方程式ふていほうていしき)が解とけることと同値どうちだからである。互除法ごじょほうは mod 逆元ぎゃくげんの計算けいさん(中国ちゅうごく剰余定理じょうよていりの中核ちゅうかく)を支ささえる。

5複数ふくすうの解法かいほう

方法ほうほう 1(素因数分解そいんすうぶんかい):a, b が小ちいさければ素因数分解そいんすうぶんかいで [PARSE ERROR: Undefined("Command(\"gcd\")")] を直接ちょくせつ計算けいさんできる。ただし大おおきな数かずでは非効率ひこうりつ。

方法ほうほう 2(互除法ごじょほう):一般的いっぱんてき手法しゅほう。O(logmin(a,b)) ステップで終了しゅうりょうする。

方法ほうほう 3(行列ぎょうれつ表現ひょうげん):拡張互除法かくちょうごじょほうの係数けいすうを 2×2 行列ぎょうれつの積せきとして管理かんりする方法ほうほう。実装じっそうで頻用ひんようされる。

6見分みわけ方かた

  • [PARSE ERROR: Undefined("Command(\"gcd\")")] を求もとめたい → 余あまりへ落おとせるかを確認かくにん
  • ax+by=c の形かたちが出でた → まず [PARSE ERROR: Undefined("Command(\"gcd\")")](a,b)∣c を確認かくにん
  • mod 演算えんざんで割わり算ざんしたい(逆元ぎゃくげん)→ 互除法ごじょほうで逆元ぎゃくげんの存在そんざいと値ちを計算けいさん

7どこまで成立せいりつするか

2 変数へんすうの一次いちじ不定方程式ふていほうていしきの範囲はんいである。より多変数たへんすう・高次こうじでは異ことなる手法しゅほうが必要ひつようになる。また多項式たこうしきの [PARSE ERROR: Undefined("Command(\"gcd\")")](多項式たこうしき環かん上うえの互除法ごじょほう)へ拡張かくちょうできる。

8最終形さいしゅうけい

[PARSE ERROR: Undefined("Command(\"boxed\")")][PARSE ERROR: Undefined("Command(\"gcd\")")](a,b)=[PARSE ERROR: Undefined("Command(\"gcd\")")](b,r)(a=bq+r)
[PARSE ERROR: Undefined("Command(\"boxed\")")]ax+by=cが整数解を持つ⟺[PARSE ERROR: Undefined("Command(\"gcd\")")](a,b)∣c
[PARSE ERROR: Undefined("Command(\"boxed\")")]x=x0+bdt,y=y0-adt(t∈Z)

9一言ひとことでいうと

互除法ごじょほうは [PARSE ERROR: Undefined("Command(\"gcd\")")] を求もとめるだけでなく、mod 逆元ぎゃくげん・一次いちじ不定方程式ふていほうていしき・中国ちゅうごく剰余定理じょうよていりを支ささえる中心的ちゅうしんてきな道具どうぐである。

10関連かんれんリンク

data/lecture/math/algebra/integer-properties.lecture.n.md data/lecture/math/algebra/congruences-and-remainders.lecture.n.md data/lecture/math/abstract-algebra/congruences-and-modular-arithmetic.lecture.n.md data/lecture/math/number-theory/chinese-remainder-theorem.lecture.n.md data/lecture/math/number-theory/continued-fraction-expansions.lecture.n.md

11演習えんしゅうリンク

data/exercise/math/algebra/euclidean-algorithm-and-linear-diophantine-equations.exercise.n.md

12定石じょうせきリンク

data/reference/math/algebra/gcd-and-linear-diophantine-techniques.reference.n.md
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
copy encoded share link
path をコピー
copy share link
copy encoded share link
copy share link
copy encoded share link
タブを全て閉じる