参考自一篇全英文的paperThe Period of the Fibonacci Sequence Modulo j
( ext{Definition})
( ext{Fibonacci})数列
(forall ninmathbb{N_+},F_{n+1}=F_n+F_{n-1}quad(F_0=0,F_1=1))
令(phi=frac{1+sqrt5}{2},overline{phi}=frac{1-sqrt5}{2}),易知有(phi^2=phi+1)与(overline{phi}^2=overline{phi}+1)。
实际上这就是( ext{Fibonacci})数列的特征方程(x^2=x+1)的两实数根。
并且由此我们可以推出( ext{Fibonacci})数列的通项公式(F_n=frac{1}{sqrt5}(phi^n-overline{phi}^n))。
( ext{Pisano Period})
(F_nmod P)的循环节(m)是使得(F_mequiv0pmod Pwedge F_{m+1}equiv1pmod P)的最小正整数(m)。
易知(mmid kLeftrightarrow F_kequiv0pmod P,F_{k+1}equiv1pmod P)。
( ext{Part.1})
我们需要先证明一些引理。
引理(1)
设(pinmathbb P,ninmathbb{N_+}),(aequiv1pmod pRightarrow a^{p^n}equiv1pmod{p^{n+1}})。
证:
我们使用数学归纳法。
不妨设(a=rp+1quad(rinmathbb Z))。
运用二项式定理,(a^pequiv(rp+1)^pequiv1+sumlimits_{i=1}^pleft(_i^p
ight)(rp)^iequiv1pmod{p^2})。
因此当(n=1)时引理成立。
假设(n=m)时定理成立,即有(a^{p^m}equiv1pmod{p^{m+1}})。
不妨设(a^{p^m}=1+sp^{m+1}(sinmathbb Z))。
同样运用二项式定理,(a^{p^{m+1}}=(a^{p^m})^p=(1+sp^{m+1})^p=1+sumlimits_{i=1}^pleft(_i^p
ight)(sp^{m+1})^iequiv1pmod{p^{m+2}})。
因此当(n=m)成立时,(n=m+1)也成立。
命题得证。
推论(1)
设(pinmathbb P,kinmathbb{N_+}),(m)为(F_nmod p)的循环节,有(phi^{mp^{k-1}}equivoverline{phi}^{mp^{k-1}}equiv1pmod{p^k})
证:
由(F_mequivfrac{phi^m-overlinephi^m}{sqrt5}equiv0pmod p)可知(phi^mequivoverline{phi}^mpmod p)。
我们有(F_m=F_{m+1}-F_1=frac{phi(phi^m-1)-overline{phi}(overline{phi}^m-1)}{sqrt5})。
用(phi^m)替换(overline{phi}^m)得到(F_mequivfrac{(phi^m-1)(phi-overline{phi})}{sqrt5}equiv(phi^m-1)F_1equivphi^m-1equiv0pmod p)。
( hereforephi^mequivoverline{phi}^mequiv1pmod p)
运用引理(1),(phi^{mp^{k-1}}equivoverline{phi}^{mp^{k-1}}equiv1pmod{p^k})。
命题得证。
引理(2)
设(pinmathbb Pwedge p e5),((frac5p)=1Leftrightarrow pequivpm1pmod5,(frac5p)=-1Leftrightarrow pequivpm2pmod5)
证:
运用Gauss二次互反律,((frac5p)(frac p5)=(-1)^{(frac{5-1}2)(frac{p-1}2)}=((-1)^{frac{p-1}2})^2=1)。
运用Euler准则,((frac5p)=(frac p5)equiv p^2pmod5)。
利用枚举法发现该命题在任意情况下成立,故命题得证。
( ext{Part.2})
定理(1)
设(P=prodlimits_{i=1}^{s}p_i^{k_i}),(m_i)为(F_nmod p_i^{k_i})的循环节,(M)为(F_nmod P)的循环节,则(M=operatorname{lcm}(m_1,cdots,m_s))。
证:
(ecause F_Mequiv0pmod PLeftrightarrow forall iin[1,s],F_Mequiv0pmod{p_i^{k_i}})
( hereforeforall ile s,m_imid M)
( herefore M=operatorname{lcm}(m_1,cdots,m_s))
命题得证。
定理(2)
设(pinmathbb P),(m)是(F_nmod p)的循环节,(M)是(F_nmod p^k)的循环节,则(Mmid mp^{k-1})。
证:
由推论(1)我们有(phi^{mp^{k-1}}equivoverline{phi}^{mp^{k-1}}equiv1pmod{p^k})。
( herefore F_{mp^{k-1}}equivfrac{phi^{mp^{k-1}}-overlinephi^{mp^{k-1}}}{sqrt5}equivpmod{p^k})
( herefore F_{mp^{k-1}+1}equivfrac{phi^{mp^{k-1}+1}-overlinephi^{mp^{k-1}+1}}{sqrt5}equivfrac{phi-overline{phi}}{sqrt5}equiv1pmod{p^k})
( herefore Mmid mp^{k-1})
命题得证。
事实上有猜想(M=mp^{k-1})一定成立,目前尚未找到反例。
定理(3)
设(pinmathbb P),(m)为(F_nmod p)的循环节,若(pequivpm1pmod5),则(mmid p-1)
证:
由引理2知((frac 5p)=1),所以(sqrt5)在(mathbb{F_p})中。
运用Euler定理,(phi^{p-1}equivoverline{phi}^{p-1}equiv 1pmod p)。
( herefore F_{p-1}equivfrac{phi^{p-1}-overlinephi^{p-1}}{sqrt5}equiv0pmod p,F_pequivfrac{phi^p-overlinephi^p}{sqrt5}equivfrac{phi-overline{phi}}{sqrt5}equiv1pmod p)
( herefore mmid p-1)
命题得证。
定理(4)
设(pinmathbb P),(m)为(F_nmod p)的循环节,若(pequivpm2pmod5),则(mmid 2p+2wedge 2 midfrac{2p+2}m)
证:
由引理2知((frac5p)=-1),所以我们定义扩域(mathbb{F_p}(sqrt5)={a+bsqrt5|a,binmathbb{F_p}})。
利用二项式定理,我们有((a+b)^pequiv a^p+b^ppmod p)。
( hereforephi^pequiv(frac12+frac{sqrt5}{2})^pequiv(frac12)^p+(frac{sqrt5}2)^pequiv(frac12)^p(1+sqrt5^p)equivfrac12(1+5^frac{p-1}2sqrt5)equivfrac12(1-sqrt5)equivoverline{phi}pmod p)
同理,可以得到(overline{phi}^pequivphipmod p)。
因此我们有
(F_{p}equivfrac{phi^p-overlinephi^p}{sqrt5}equivfrac{overlinephi-phi}{sqrt5}equiv p-1pmod p)
(F_{p+1}equivfrac{phi^{p+1}-overlinephi^{p+1}}{sqrt5}equivfrac{overlinephiphi-phioverlinephi}{sqrt5}equiv0pmod p)
(F_{p+2}equiv F_p+F_{p+1}equiv p-1pmod p)
( herefore m
mid p+1)
同理有
(F_{2p+1}equivfrac{phi^{2p+1}-overlinephi^{2p+1}}{sqrt5}equivfrac{overlinephi^2phi-phi^2overlinephi}{sqrt5}equivfrac{phioverlinephi(overlinephi-phi)}{sqrt5}equiv1pmod p)
(F_{2p+2}equivfrac{phi^{2p+2}-overlinephi^{2p+2}}{sqrt5}equivfrac{overlinephi^2phi^2-phi^2overlinephi^2}{sqrt5}equiv0pmod p)
(F_{2p+3}equiv F_{2p+1}+F_{2p+2}equiv1pmod p)
( herefore mmid 2p+2)
命题得证。
定理5
若(P=2 imes5^k(kinmathbb{N_+})),则(F_nmod P)的循环节为(6P),否则(F_nmod P)的循环节(le4P)。
( ext{Extra})
我们发现( ext{Part.2})给出了Pisano Period的某个正整数倍数。
如果仅仅是求(F_nmod m)的话这就足够了。
如果需要求最小正周期的话,在运用定理(3,4)的时候枚举约数检查即可。
在计算(F_nmod p)的循环节时,需要对(p=2)和(p=5)进行特判:
(m_i=egin{cases}3&p_i=2\20&p_i=5end{cases})
最后还要记得特判(P=1)的情况。