§A4.8オイラー関数 φ とその乗法性

最終更新

オイラー関数φ(n)\varphi(n)とは、11以上nn以下の整数のうち、nnと互いに素なものの個数のことです。 たとえばφ(1)=1\varphi(1)=1、φ(6)\varphi(6)は1,51,5の2個なのでφ(6)=2\varphi(6)=2です。

1 オイラー関数

定義 1.1 (オイラー関数). 正の整数nnに対して、11以上nn以下の整数のうち、nnと互いに素なものの個数をφ(n)\varphi(n)と書く。関数φ\varphiをオイラー関数 (Euler totient function) という。

例 1.2.gcd⁡(1,1)=1\gcd(1,1)=1なので、φ(1)=1\varphi(1)=1である。11以上66以下で66と互いに素な整数は1,51,5なので、φ(6)=2\varphi(6)=2である。

2 素数べきでの値

命題 2.1.ppを素数、kkを正の整数とすると、

φ(pk)=pk−pk−1=pk−1(p−1)\varphi(p^k)=p^k-p^{k-1}=p^{k-1}(p-1)

が成り立つ。特に、φ(p)=p−1\varphi(p)=p-1である。

証明.§A4.2 定理 2.2により、pkp^kの素因数はppだけである。したがって、整数がpkp^kと互いに素でないことと、その整数がppの倍数であることは同値である。11以上pkp^k以下のppの倍数はp,2p,…,pk−1pp,2p,\ldots,p^{k-1}pのpk−1p^{k-1}個なので、

φ(pk)=pk−pk−1\varphi(p^k)=p^k-p^{k-1}

となる。k=1k=1とすると、φ(p)=p−1\varphi(p)=p-1を得る。▨

3 互いに素な二数についての乗法性

命題 3.1.m,nm,nを互いに素な正の整数とすると、

φ(mn)=φ(m)φ(n)\varphi(mn)=\varphi(m)\varphi(n)

が成り立つ。

証明.m=1m=1またはn=1n=1の場合は、φ(1)=1\varphi(1)=1から等式が従う。以下ではm,n≥2m,n\ge2とする。§A4.6 補題 2.1により、法mnmnの剰余類と、法mmの剰余類と法nnの剰余類の組は一対一に対応する。整数xxがmnmnと互いに素であることは、xxがm,nm,nの両方と互いに素であることと同値である。実際、§A4.2 定理 2.2により、mnmnの素因数はmmの素因数とnnの素因数を合わせたものである。また、x≡r(modm)x\equiv r\pmod mならばx,rx,rとmmの公約数は一致するので、mmと互いに素かどうかは剰余類によって定まる。法nnでも同じことが成り立つ。

したがって、mnmnと互いに素な剰余類は、mmと互いに素な剰余類とnnと互いに素な剰余類の組に一対一に対応する。それぞれの個数を数えると、φ(mn)=φ(m)φ(n)\varphi(mn)=\varphi(m)\varphi(n)となる。▨

注意 3.2.m,nm,nを正の整数、xxを整数とする。xxがmnmnと互いに素であることと、xxがm,nm,nの両方と互いに素であることの同値性には、m,nm,nが互いに素であるという仮定は要らない。乗法性の証明では、剰余類と二つの剰余類の組との一対一対応に、その仮定を用いている。

4 素因数分解による計算公式

命題 4.1.n≥2n\ge2を整数とし、相異なる素数p1,…,prp_1,\ldots,p_rと正の整数k1,…,krk_1,\ldots,k_rによってn=p1k1⋯prkrn=p_1^{k_1}\cdots p_r^{k_r}と素因数分解する。このとき

φ(n)=∏i=1rpiki−1(pi−1)=n∏p∣n(1−1p)\varphi(n)=\prod_{i=1}^r p_i^{k_i-1}(p_i-1) =n\prod_{p\mid n}\left(1-\frac1p\right)

が成り立つ。最後の積は、nnの相異なる素因数ppにわたる積である。

証明. 相異なる素数のべきは互いに素なので、命題 3.1を繰り返し用いると

φ(n)=∏i=1rφ(piki)\varphi(n)=\prod_{i=1}^r\varphi(p_i^{k_i})

を得る。命題 2.1によって各因子をpiki−1(pi−1)=piki(1−1/pi)p_i^{k_i-1}(p_i-1)=p_i^{k_i}(1-1/p_i)と書くと、二つの表示が従う。▨

例 4.2.360=23⋅32⋅5360=2^3\cdot3^2\cdot5なので、命題 4.1より

φ(360)=360⋅12⋅23⋅45=96\varphi(360)=360\cdot\frac12\cdot\frac23\cdot\frac45=96

である。

例 4.3.71007^{100}を360360で割った余りを求める。gcd⁡(7,360)=1\gcd(7,360)=1かつφ(360)=96\varphi(360)=96なので、§A4.7 定理 2.2より796≡1(mod360)7^{96}\equiv1\pmod{360}である。100=96+4100=96+4より

7100≡74=2401=6⋅360+241≡241(mod360)7^{100}\equiv7^4=2401=6\cdot360+241\equiv241\pmod{360}

であり、求める余りは241241である。

問題 4.4.φ(n)=8\varphi(n)=8を満たす正の整数nnをすべて求めよ。

解答.

φ(1)=1\varphi(1)=1なのでn>1n>1である。命題 4.1より、nnの素因数ppに対してp−1p-1はφ(n)=8\varphi(n)=8を割り切る。88の正の約数は1,2,4,81,2,4,8なので、ppの候補は2,3,5,92,3,5,9である。ppは素数だから、p=2,3,5p=2,3,5に限られる。

33または55の指数が22以上なら、同じ公式によりφ(n)\varphi(n)がそれぞれ33または55の倍数となり、φ(n)=8\varphi(n)=8に反する。したがって

n=2a3b5c,a≥0,b,c∈{0,1}n=2^a3^b5^c,\qquad a\ge0,\quad b,c\in\{0,1\}

と書くことができる。a=0a=0またはa=1a=1のときはφ(2a)=1\varphi(2^a)=1なので、乗法性によりφ(n)=2b+2c\varphi(n)=2^{b+2c}である。b+2c=3b+2c=3を満たすのはb=c=1b=c=1の場合だけであり、n=15,30n=15,30を得る。

a≥2a\ge2のときはφ(n)=2a−1+b+2c\varphi(n)=2^{a-1+b+2c}なので、a−1+b+2c=3a-1+b+2c=3となる。(b,c)=(0,0),(1,0),(0,1)(b,c)=(0,0),(1,0),(0,1)の場合は、それぞれa=4,3,2a=4,3,2となり、n=16,24,20n=16,24,20を得る。(b,c)=(1,1)(b,c)=(1,1)の場合はa=1a=1となるので、a≥2a\ge2に反する。五つの整数はいずれも公式によりφ(n)=8\varphi(n)=8を満たす。よって解は

n=15,16,20,24,30n=15,16,20,24,30

である。▨

5 約数にわたるオイラー関数の和

命題 5.1. 正の整数nnに対して、

∑d∣nφ(d)=n\sum_{d\mid n}\varphi(d)=n

が成り立つ。和はnnの正の約数ddにわたる和である。

証明.1≤k≤n1\le k\le nを満たす整数kkに対し、g=gcd⁡(k,n)g=\gcd(k,n)とおく。k/nk/nを約分した既約分数は(k/g)/(n/g)(k/g)/(n/g)であり、その分母d=n/gd=n/gはnnの正の約数である。

逆に、nnの正の約数ddと、1≤u≤d1\le u\le dかつgcd⁡(u,d)=1\gcd(u,d)=1を満たす整数uuを取る。k=(n/d)uk=(n/d)uとおくと1≤k≤n1\le k\le nであり、gcd⁡(k,n)=n/d\gcd(k,n)=n/dなので、k/nk/nを約分するとu/du/dを得る。したがって、約分後の分母がddである分数はちょうどφ(d)\varphi(d)個である。もとのnn個の分数を約分後の分母によって分けて数えると、∑d∣nφ(d)=n\sum_{d\mid n}\varphi(d)=nとなる。▨

例 5.2.66の正の約数は1,2,3,61,2,3,6なので、

φ(1)+φ(2)+φ(3)+φ(6)=1+1+2+2=6\varphi(1)+\varphi(2)+\varphi(3)+\varphi(6)=1+1+2+2=6

となる。

例題

条件と何を求めるかを確認してから、式と答えの対応を見比べてください。

次のオイラー関数の値を求めよ。

解法の型φ(n)=n(1−1p)(1−1q)\varphi(n)=n\left(1-\dfrac1p\right)\left(1-\dfrac1q\right)(nn の異なる素因数 p,qp,q について)

  1. 例題 1

    φ(18)\varphi(18)
  2. 例題 2

    φ(99)\varphi(99)
  3. 例題 3

    φ(21)\varphi(21)
  4. 例題 4

    φ(55)\varphi(55)
  5. 例題 5

    φ(33)\varphi(33)
  6. 例題 6

    φ(63)\varphi(63)
  7. 例題 7

    φ(363)\varphi(363)
  8. 例題 8

    φ(20)\varphi(20)
  9. 例題 9

    φ(35)\varphi(35)
  10. 例題 10

    φ(6)\varphi(6)

演習

問題を解いてから「解答・解説」を開けます。

次のオイラー関数の値を求めよ。

演習を読み込み中…

前提記事