【共通テスト 数学1】Module 5: 選択問題【整数の性質】攻略:約数・倍数と不定方程式
【本記事の目的と概要】
本稿は、共通テスト数学Ⅰ・Aの選択問題の中で、最も純粋な論理的思考力と抽象的な数への洞察力が試される「整数の性質」を完全攻略するための戦術書である。この分野は、図形のような視覚的補助や、確率のような具体的な試行から切り離されているため、多くの受験生が苦手意識を抱きがちである。しかし、それは大きな誤解だ。整数の性質の問題は、一見すると閃きが要求されるように見えて、その実、極めてアルゴリズミック(手順的)であり、いくつかの強力な基本ツールを使いこなすことで、機械的に正解へとたどり着けるように設計されている。本モジュールでは、素因数分解から始まり、ユークリッドの互除法、1次不定方程式、剰余類(合同式)、そしてn進法に至るまで、整数問題を解き明かすための核心的ツールを体系的に解説する。これらのアルゴリズムをマスターし、整数の世界を支配する法則を自らの武器とせよ。
1. 整数の世界の原子:素因数分解の一意性
整数論におけるすべての議論の出発点、それは「素因数分解の一意性」である。これは、全ての正の整数が、素数の積としてただ一通りに表せるという、整数の世界の根幹をなす定理である。この基本原理から、約数に関する様々な性質が導かれる。
1.1. 素因数分解の応用:約数の個数と総和
ある正の整数 N が N=p1e1p2e2⋯pkek (pi は互いに異なる素数、ei は正の整数)と素因数分解されるとき、
- N の正の約数の個数:
- N の約数は、p1 を0個から e1 個まで、p2 を0個から e2 個まで…、pk を0個から ek 個まで選んで掛け合わせることで作られる。
- p1 の選び方は (e1+1) 通り、p2 の選び方は (e2+1) 通り…となる。
- したがって、約数の個数はこれらの積、すなわち (e1+1)(e2+1)⋯(ek+1) 個となる。
- 典型例:2025年度旧課程 第4問(1)1
702
を素因数分解すると702 = 2 × 3^3 × 13
となる。- したがって、その正の約数の個数は
(1+1) × (3+1) × (1+1) = 2 × 4 × 2 = 16
個と計算できる。
- N の正の約数の総和:
- 約数の総和は、展開式
(1+p_1+p_1^2+...+p_1^{e_1})(1+p_2+...+p_2^{e_2})\cdots(1+p_k+...+p_k^{e_k})
を計算することで得られる。各括弧内は等比数列の和である。
- 約数の総和は、展開式
- 戦略的思考:
- 整数問題で特定の数が与えられたら、まず条件反射で素因数分解する習慣をつけること。多くの場合、それが問題解決の第一歩となる。
- 約数の個数の公式は、単なる暗記ではなく、なぜその形になるのか(各素因数の選び方の積であること)を理解しておくことが、応用に繋がる。
2. 関係性の探求:ユークリッドの互除法と最大公約数
二つの整数の関係性を探る上で最も強力なツールが、ユークリッドの互除法である。これは、二つの整数の最大公約数(GCD)を効率的に見つけるアルゴリズムだが、その真価は1次不定方程式の求解への応用にこそある。
2.1. ユークリッドの互除法のアルゴリズム
二つの正の整数 a
, b
(a > b
) の最大公約数を求める手順は以下の通り。
a
をb
で割り、余りr1
を求める。a = b*q1 + r1
b
をr1
で割り、余りr2
を求める。b = r1*q2 + r2
r1
をr2
で割り、余りr3
を求める。r1 = r2*q3 + r3
- この操作を繰り返し、余りが
0
になったときの、最後の0でない余りがa
とb
の最大公約数である。
- 典型例:2025年度旧課程 第4問(1)2222
609
と348
の最大公約数を求める。609 = 348 × 1 + 261
348 = 261 × 1 + 87
261 = 87 × 3 + 0
- 余りが0になったので、最後の0でない余りである
87
が最大公約数となる。
2.2. 「証明」としての互除法
なぜこのアルゴリズムで最大公約数が求まるのか。それは「a
と b
の公約数の集合は、b
と r1
の公約数の集合と等しい」という性質に基づいている。この性質を繰り返し適用することで、最終的に求める最大公約数が保存される。共通テストではこの証明自体は問われないが、この構造を理解していると、アルゴリズムへの信頼感が増す。
3. 整数解を求める技術:1次不定方程式の完全攻略
「整数の性質」分野における最重要テーマであり、得点源となるのが1次不定方程式 ax + by = c
の整数解を求める問題である。解法は完全にアルゴリズム化されているため、手順をマスターすれば確実に解ける。
3.1. 1次不定方程式の求解アルゴリズム
- Step 0: 解の存在条件の確認
ax + by = c
が整数解を持つための必要十分条件は、「c
がgcd(a, b)
の倍数であること」である。- 共通テストでは、ほとんどの場合解が存在するように問題が作られているが、この知識は最終的な検算や、より複雑な問題で役立つ。
- Step 1: 特殊解の発見
- まず、
ax + by = c
を満たす具体的な整数解(x, y)
を一つ見つける。これを特殊解と呼ぶ。 - 係数が小さい場合は、勘で見つかることもある。しかし、係数が大きい場合は、ユークリッドの互除法を「逆向き」に辿る方法が確実である。
- 典型例:
9x - 23y = 1
を解く (2025年度旧課程 第4問(2)の類題)23
と9
で互除法を適用。23 = 9 × 2 + 5
→5 = 23 - 9 × 2
9 = 5 × 1 + 4
→4 = 9 - 5 × 1
5 = 4 × 1 + 1
→1 = 5 - 4 × 1
- 余りが1になった最後の式から、逆向きに代入を繰り返す。
1 = 5 - 4 × 1
1 = 5 - (9 - 5 × 1) × 1 = 5 × 2 - 9
1 = (23 - 9 × 2) × 2 - 9 = 23 × 2 - 9 × 4 - 9 = 23 × 2 - 9 × 5
9 × (-5) - 23 × (-2) = 1
となり、元の式9x - 23y = 1
と係数を比較して、特殊解(x, y) = (-5, -2)
が見つかる。
- 問題によっては正の整数解を求めさせるため、
x
が正になるまで一般解の項を加減する。
- まず、
- Step 2: 一般解の導出
- 元の式
ax + by = c
と、特殊解(x0, y0)
を代入した式ax0 + by0 = c
を用意する。 - 辺々を引き算すると
a(x - x0) + b(y - y0) = 0
、すなわちa(x - x0) = -b(y - y0)
となる。 a
とb
が互いに素であれば、x - x0
はb
の倍数、y - y0
はa
の倍数でなければならない。- したがって、整数
k
を用いて、x - x0 = bk
,y - y0 = -ak
と書ける。 - これが一般解
x = x0 + bk
,y = y0 - ak
となる。
- もし
a
とb
が互いに素でなければ、両辺をgcd(a, b)
で割ってから同様の操作を行う。
- 元の式
- 共通テストにおける誘導:
- 共通テストでは、この複雑な手順を問題文の誘導に従って一步ずつ実行させる形式が多い 3。例えば、
9x = 23y + 6
4 のような式は、9x - 23y = 6
という不定方程式そのものである。受験生は、問題文が何をさせようとしているのか(不定方程式を解かせようとしている)を読み解き、学習したアルゴリズムを起動することが求められる。
- 共通テストでは、この複雑な手順を問題文の誘導に従って一步ずつ実行させる形式が多い 3。例えば、
4. 計算を支配する王道:剰余類(mod)の思考法
剰余(余り)に注目する考え方は、整数問題を劇的に簡略化する。合同式を使いこなせると、複雑な数の関係性をシンプルに捉えることができる。
- 合同式の基本:
a ≡ b (mod m)
は、「a
をm
で割った余りとb
をm
で割った余りが等しい」ことを意味する。これは「a - b
がm
の倍数である」ことと同値である。 - 戦略的活用法:
- 解の存在条件の判定:
- 典型例:2023年度本試験 第4問(2)5
35y + 21z = -2 - 3a
という式が導かれる。- 左辺は
35y + 21z = 7(5y + 3z)
であり、明らかに7
の倍数である。 - この等式が整数解
y, z
を持つためには、右辺-2 - 3a
も7
の倍数でなければならない。 - これを合同式で表現すると
-2 - 3a ≡ 0 (mod 7)
となる。3a ≡ -2 ≡ 5 (mod 7)
。 a=0, 1, 2, ...
と調べていくと、a=4
のとき3×4 = 12 ≡ 5 (mod 7)
となる。よって、a
を7
で割った余りが4
であることが必要十分条件だとわかる。
- 典型例:2023年度本試験 第4問(2)5
- 計算の簡略化: 大きな数のべき乗の余りを求める際などに威力を発揮する。
- 解の存在条件の判定:
- 教訓: 方程式の両辺を見て、共通の約数で「縛られていないか」を常に意識すること。合同式は、その「縛り」を最もエレガントに表現する言語である。
5. 位取りの宇宙:n進法の構造と応用
n
進法は、数の表現方法を変えることで、問題の見通しを良くするためのツールである。
- n進法の二大操作:
- n進法 → 10進法:
(abc)n = a × n^2 + b × n^1 + c × n^0
のように、各桁の数に「位の重み」を掛けて足し合わせる。 - 10進法 → n進法: 10進法の数を
n
で繰り返し割り、その余りを逆順に並べる。
- n進法 → 10進法:
- 典型例1:2024年度本試験 第4問6
- 3進数、4進数、6進数を表示するタイマーが登場する。
- 「タイマーが
000
に戻る」とは、表示される数がn^3
に達した瞬間を意味する(n
は底)。例えばT4(4進数)は、4^3 = 64
秒周期で000
に戻る。 - 「T4とT6が同時に
000
に戻る」のは、64
と6^3=216
の**最小公倍数(LCM)**を求める問題に帰着する。 - 「T3とT4が同時に
012
と表示される」のは、T3
が(012)_3 = 5
秒、T4
が(012)_4 = 6
秒を示している。経過時間をt
とすると、t ≡ 5 (mod 3^3=27)
- t ≡ 6 (mod 4^3=64)という連立合同式の問題に帰着する。これは1次不定方程式を用いて解くことができる高度な応用問題である。
- 典型例2:令和4年度追試験 第4問[2]7
- 7進法で
(abc)7
と表される数M
と(cba)7
と表される数N
の差X = M - N
を考える。 M = a×7^2 + b×7 + c
N = c×7^2 + b×7 + a
X = M-N = (a-c)×7^2 - (a-c) = (a-c)(7^2 - 1) = 48(a-c)
- この
X
を再び7進法で表現させる。これは、10進法で代数的な操作を行い、その結果を再びn進法に戻すという、n進法の本質を深く理解しているかを問う良問である。
- 7進法で
6. 論理の構築:整数問題における思考のフレームワーク
整数問題、特に共通テストの形式では、個別の知識だけでなく、それらを連鎖させて一つの結論を導く論理的な思考力が試される。
- 誘導は証明のロードマップ: 共通テストの整数問題の設問の流れは、それ自体が一個の「証明」の構造を持っている。
- (1) で具体的な計算をさせる。
- (2) で互除法を用いて特殊解を求めさせる。
- (3) で一般解を導出し、条件を満たすものを探させる。
- (4) で、それまでの考察を用いて、より一般的な命題の真偽を問う。
- この流れは、数学的な証明における「補題1」「補題2」「主定理の証明」「系」という構造に対応している。
- 戦略的アプローチ:
- 常に「なぜ今、この計算をさせられているのか?」と自問すること。前の設問の結果が、次の設問を解くための「部品」や「ヒント」になっていることがほとんどである。
- 最終的な設問(例えば、命題の真偽判定)に直面したとき、それは独立した問題ではなく、それまでの(1)~(3)のすべての結果を総動員して解くべき集大成であると認識すること。
結論:整数問題は「アルゴリズム」の習熟度がすべて
「整数の性質」は、才能や閃きが支配する分野ではない。それは、先人たちが築き上げた強力な「アルゴリズム」を、いかに正確に、そして迅速に実行できるかを競う、極めて論理的なフィールドである。素因数分解、ユークリッドの互除法、1次不定方程式の求解、n進法変換。これらの基本手順を、身体が覚えるまで繰り返し訓練すること。そして、問題文の誘導を、ゴールへと導く信頼すべきロードマップとして読み解くこと。その二つが揃ったとき、整数問題はもはや恐れる対象ではなく、確実に得点を積み上げるための安定した得点源へと変わるだろう。