1

連分数3:不定方程式 ax+by=1 への応用

62
0
$$\newcommand{a}[0]{\alpha} \newcommand{Aut}[0]{\operatorname{Aut}} \newcommand{b}[0]{\beta} \newcommand{C}[0]{\mathbb{C}} \newcommand{c}[0]{\cdot} \newcommand{cd}[0]{{\atop\ddots}} \newcommand{d}[0]{\delta} \newcommand{dis}[0]{\displaystyle} \newcommand{e}[0]{\varepsilon} \newcommand{F}[4]{{}_2F_1\left(\begin{matrix}#1,#2\\#3\end{matrix};#4\right)} \newcommand{farc}[2]{\frac{#1}{#2}} \newcommand{FF}[6]{{}_3F_2\left(\begin{matrix}#1,#2,#3\\#4,#5\end{matrix};#6\right)} \newcommand{G}[0]{\Gamma} \newcommand{g}[0]{\gamma} \newcommand{Gal}[0]{\operatorname{Gal}} \newcommand{H}[0]{\mathbb{H}} \newcommand{id}[0]{\operatorname{id}} \newcommand{Im}[0]{\operatorname{Im}} \newcommand{Ker}[0]{\operatorname{Ker}} \newcommand{l}[0]{\left} \newcommand{L}[0]{\Lambda} \newcommand{la}[0]{\lambda} \newcommand{La}[0]{\Lambda} \newcommand{Li}[0]{\operatorname{Li}} \newcommand{li}[0]{\operatorname{li}} \newcommand{M}[4]{\begin{pmatrix}#1& #2\\#3& #4\end{pmatrix}} \newcommand{N}[0]{\mathbb{N}} \newcommand{o}[0]{\omega} \newcommand{O}[0]{\Omega} \newcommand{ol}[1]{\overline{#1}} \newcommand{ord}[0]{\operatorname{ord}} \newcommand{P}[0]{\mathfrak{P}} \newcommand{p}[0]{{\atop{}+{}}} \newcommand{q}[0]{\mathfrak{q}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{r}[0]{\right} \newcommand{R}[0]{\mathbb{R}} \newcommand{Re}[0]{\operatorname{Re}} \newcommand{s}[0]{\sigma} \newcommand{t}[0]{\theta} \newcommand{ul}[1]{\underline{#1}} \newcommand{vp}[0]{\varphi} \newcommand{vt}[0]{\vartheta} \newcommand{Z}[0]{\mathbb{Z}} \newcommand{z}[0]{\zeta} \newcommand{ZZ}[1]{\mathbb{Z}/#1\mathbb{Z}} \newcommand{ZZt}[1]{(\mathbb{Z}/#1\mathbb{Z})^\times} $$

はじめに

 この記事では 前回の記事 の続きとして連分数展開のベズーの等式$ax+by=1$への応用について簡単にまとめていきます。

連分数展開とユークリッドの互除法

 まず有理数の連分数展開とユークリッドの互除法との関係について紹介していきましょう。
 いま有理数$x=a/b\quad(b>0)$の連分数展開
$$\frac ab=[c_0;c_1,c_2,\ldots,c_N]$$
を求めるためには
\begin{align} \frac ab&=c_0+\frac{r_1}b&&(0\leq r_1< b)\\ \frac b{r_1}&=c_1+\frac{r_2}{r_1}&&(0\leq r_2< r_1)\\ \frac{r_1}{r_2}&=c_2+\frac{r_3}{r_2}&&(0\leq r_3< r_2)\\ &\ \ \vdots\\ \frac{r_{N-1}}{r_N}&=c_N \end{align}
という計算をしていくことになりますが、これは整数$a,b$に対するユークリッドの互除法
\begin{align} a&=c_0b+r_1\\ b&=c_1r_1+r_2\\ r_1&=c_2r_2+r_3\\ &\ \ \vdots\\ r_{N-1}&=c_Nr_N \end{align}
と全く同じ計算をしていることがわかります。
 また上の関係式を
$$\begin{pmatrix}r_{n-1}\\r_n\end{pmatrix} =\begin{pmatrix}c_nr_n+r_{n+1}\\r_n\end{pmatrix} =\begin{pmatrix}c_n&1\\1&0\end{pmatrix} \begin{pmatrix}r_n\\r_{n+1}\end{pmatrix}$$
と表すことで
$$\begin{pmatrix}a\\b\end{pmatrix} =\begin{pmatrix}c_0&1\\1&0\end{pmatrix} \begin{pmatrix}c_1&1\\1&0\end{pmatrix}\cdots \begin{pmatrix}c_n&1\\1&0\end{pmatrix} \begin{pmatrix}r_n\\r_{n+1}\end{pmatrix}$$
という式が成り立ちますが、この右辺に現れる行列は 第一回の記事 の命題4から収束分数
$$\frac{p_n}{q_n}=[c_0;\ c_1,\ c_2,\ \ldots,\ c_n]$$
を用いて
$$\begin{pmatrix}p_n&p_{n-1}\\q_n&q_{n-1}\end{pmatrix} =\begin{pmatrix}c_0&1\\1&0\end{pmatrix} \begin{pmatrix}c_1&1\\1&0\end{pmatrix}\cdots \begin{pmatrix}c_n&1\\1&0\end{pmatrix}$$
と表せたので
$$\begin{pmatrix}a\\b\end{pmatrix} =\begin{pmatrix}p_n&p_{n-1}\\q_n&q_{n-1}\end{pmatrix} \begin{pmatrix}r_n\\r_{n+1}\end{pmatrix} =\begin{pmatrix}p_N&p_{N-1}\\q_N&q_{N-1}\end{pmatrix} \begin{pmatrix}\gcd(a,b)\\0\end{pmatrix}$$
といった関係式が得られます。

不定方程式$ax+by=1$

 ところで$a,b$が互いに素であるとき$r_N=\gcd(a,b)=1$となるので
$$r_n=ax_n+by_n$$
なる整数$x_n,y_n$$n=1,2,\ldots,N$について逐次求めたり
$$1=r_{n-1}x'_n+r_ny'_n$$
なる整数$x'_n,y'_n$$n=N-1,\ldots,1,0$について逐次求めていくことで
$$1=ax+by$$
なる整数$(x,y)=(x_N,y_N)=(x'_0,y'_0)$を得ることができるのでした。
 しかしこんな面倒くさい計算をしなくても
$$\det\begin{pmatrix}p_n&p_{n-1}\\q_n&q_{n-1}\end{pmatrix} =p_nq_{n-1}-p_{n-1}q_n=(-1)^{n-1}$$
に注意すると、上での議論から
$$\begin{pmatrix}1\\0\end{pmatrix} =(-1)^{N-1}\begin{pmatrix}q_{N-1}&-p_{N-1}\\-q_N&p_N\end{pmatrix} \begin{pmatrix}a\\b\end{pmatrix}$$
が成り立っていたので
$$(-1)^{N-1}=aq_{N-1}-bp_{N-1}$$
を得ることができます。

 既約分数$a/b\quad(b>0)$の連分数展開を
$$\frac ab=[a_0;a_1,\ldots,a_N]$$
としたとき、既約分数$x/y$
$$\frac xy=[a_0;a_1,\ldots,a_{N-1}]$$
によって定めると
$$ay-bx=(-1)^{N-1}$$
が成り立つ(ただし$N=0$のときは$(x,y)=(1,0)$とする)。

(別証明)

 $a/b$の収束分数$p_n/q_n$について
$$\frac{p_N}{q_N}=\frac ab,\quad\frac{p_{N-1}}{q_{N-1}}=\frac xy$$
であることと各分数の既約性( 前回の記事 の定理7)に注意すると
$$p_Nq_{N-1}-q_Np_{N-1}=ax-by=(-1)^{N-1}$$
を得る。

 特にこのようにして得られる解$x,y$は次のような最小性を持つことに注意しましょう。

 $N=0$または$a_N\geq2$であれば$y\leq b/2$が成り立つ。

 $N=0$のときは明らか。$N\neq0$のときは$q_n$の満たす漸化式
$$q_n=a_nq_{n-1}+q_{n-2}$$
(ただし$q_{-1}=0$とする)に注意すると
$$y=\frac{b-q_{N-2}}{a_N}\leq\frac b2$$
とわかる。

$43x+30y=1$の解

 $43/30$の連分数展開を考えると
\begin{align} \frac{43}{30} &=1+\dfrac{13}{30}\\ &=1+\dfrac1{2+\dfrac4{13}}\\ &=1+\dfrac1{2+\dfrac1{3+\dfrac14}} \end{align}
と計算でき、最後の$\frac14$を消去した分数は
$$\frac{10}7=1+\dfrac1{2+\dfrac13}$$
と求まるので
$$43\c7-30\c10=1$$
を得る。

 ちなみに
$$|aY-bX|=1$$
を満たすような整数$X,Y\ (Y\geq0)$は定理1のような$x,y$を用いて
\begin{align} (X,Y) ={}&(ak+x,bk+y)\quad(k=0,1,2,\ldots),\\ &(ak-x,bk-y)\quad(k=1,2,3,\ldots) \end{align}
と表せるもので尽くされるわけですが、それらに対応する連分数は
\begin{align} \frac{ak+x}{bk+y}&=[a_0;a_1,a_2,\ldots,a_N,k]\\ \frac{ak-x}{bk-y}&=[a_0;a_1,a_2,\ldots,a_N-1,1,k-1] \end{align}
と表せます(ただし$N\geq0$または$a_N\geq2$とした)。

部分分数分解への応用

 ちなみに連分数展開の考え方は一般に除法の原理を考えられる対象に適用することができます。
 特に上と同様の方法によって互いに素な多項式$f(x),g(x)$に対し
$$f(x)q(x)-g(x)p(x)=1$$
なる多項式$p(x),q(x)$を求めることができるので、これは
$$\frac1{f(x)g(x)}=\frac{q(x)}{g(x)}-\frac{p(x)}{f(x)}$$
なる部分分数分解を求めたいときなどに役立ちます。

$1/(x^2+1)(x^3+1)$の部分分数分解

 $(x^3+1)/(x^2+1)$の連分数展開(のようなもの)を考えると
\begin{align} \frac{x^3+1}{x^2+1} &=x-\dfrac{x-1}{x^2+1}\\ &=x-\dfrac1{x+1+\dfrac2{x-1}} \end{align}
と計算でき、最後の$\frac2{x-1}$を消去することで
$$\frac{x^2+x-1}{x+1}=x-\frac1{x+1}$$
という分数が得られるので、これによって
$$(x^3+1)(x+1)-(x^2+1)(x^2+x-1)=2$$
つまり
$$\frac1{(x^2+1)(x^3+1)}=\frac12\l(\frac{x+1}{x^2+1}-\frac{x^2+x-1}{x^3+1}\r)$$
という部分分数分解が得られる。

 またこの手法で不定方程式が解けることの本質は
$$p_nq_{n-1}-p_{n-1}q_n=(-1)^{n-1}\prod^n_{k=1}b_k$$
という等式にあったので、この$b_k$を上手く操作することで一般の方程式
$$f(x)q(x)-g(x)p(x)=h(x)$$
の解を求めるのにも応用でき、これによって
$$\frac{h(x)}{f(x)g(x)}=\frac{q(x)}{g(x)}-\frac{p(x)}{f(x)}$$
という部分分数分解を得ることができます。

$x^4/(x^2+1)(x^3+1)$の部分分数分解

 $(x^3+1)/(x^2+1)$
\begin{align} \frac{x^3+1}{x^2+1} &=1+\dfrac{(x-1)x^2}{x^2+1}\\ &=1+\dfrac{x^2}{-1+\dfrac{(x+1)x}{x-1}}\\ &=1+\dfrac{x^2}{-1+\dfrac x{-1+\dfrac{2x}{x+1}}} \end{align}
と変形したとき、最後の$\frac{2x}{x+1}$を消去することで
$$-\frac{x^2-x-1}{x+1}=1+\dfrac{x^2}{-1+\dfrac x{-1}}$$
という分数が得られるので、これによって
$$(x^3+1)(x+1)+(x^2+1)(x^2-x-1)=2x^4$$
つまり
$$\frac{x^4}{(x^2+1)(x^3+1)}=\frac12\l(\frac{x+1}{x^2+1}+\frac{x^2-x-1}{x^3+1}\r)$$
という部分分数分解が得られる。

 なお一般の連分数
$$\frac fg=a_0+\frac{b_1}{a_1}\p\frac{b_2}{a_2}{\atop{}+\cdots+{}}\frac{b_N}{a_N}$$
においては、例えば
$$\frac{x(x+1)}{x^2}=\dfrac x{x-1+\dfrac 1{x+1}}$$
のように収束分数の既約性が保証されるとは限りません。
 ただ上の方法に関しては連分数展開の計算において余程変なことをしなければ
\begin{align} \begin{pmatrix}f\\g\end{pmatrix} &=\begin{pmatrix}a_0&b_1\\1&0\end{pmatrix} \begin{pmatrix}a_1&b_2\\1&0\end{pmatrix}\cdots \begin{pmatrix}a_n&b_{n+1}\\1&0\end{pmatrix} \begin{pmatrix}r_n\\r_{n+1}\end{pmatrix}\\ &=\begin{pmatrix}a_0&b_1\\1&0\end{pmatrix} \begin{pmatrix}a_1&b_2\\1&0\end{pmatrix}\cdots \begin{pmatrix}a_{N-1}&b_N\\1&0\end{pmatrix} \begin{pmatrix}a_N&1\\1&0\end{pmatrix} \begin{pmatrix}1\\0\end{pmatrix} \end{align}
という関係式は成り立つはずなので、$p_N=f,\ q_N=g$は保証されます($p_{N-1},q_{N-1}$が互いに素とは限らない)。
 またこの方法によって得られる$p,q$は($\deg h<\deg fg$において)
$$\deg p<\deg f,\quad \deg q<\deg g$$
という最小性を持つことに注意しましょう。

投稿日:829
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

子葉
子葉
1325
336771
主に複素解析、代数学、数論を学んでおります。 私の経験上、その証明が簡単に探しても見つからない、英語の文献を漁らないと載ってない、なんて定理の解説を主にやっていきます。 同じ経験をしている人の助けになれば。最近は自分用のノートになっている節があります。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中