同余式的欧几里得算法

发布时间:2024-11-21

同余式的欧几里德算法

理论依据

定理1 a,b Z,Qka Pkb ( 1)足下述递推关系:

a q1b r1,b q2r1 r2,r1 q3r2 r3,…,rk 1 qk 1rk rk 1,…,rn 1 qn 1rn 0;

k 1

rk对 k {1,2,...,n}成立,其中Qk、Pk、rk满

P0 1,P1 q1,P2 q2P1 P0,…,Pk qkPk 1 Pk 2,…,Pn qnPn 1 Pn 2;

Q0 0,Q1 1,Q2 q2Q1 Q0,…,Qk qkQk 1 Qk 2,…,Qn qnQn 1 Qn 2;

k {2,3,...,n}。(课本《初等数论》第三版P10)

显然其中rn (a,b)且( 1)

n 1

Qna ( 1)nPnb rn,故得s,t Z满

sa tb (a,b)。故由定理可得到求解二元一次不定方程ax by c的欧几里德算法

(详见课本《初等数论》第三版P27)。下面导出求解一次同余式的欧几里德算法。

设同余式为ax b(%m),它等价于方程二元一次不定方程ax my b。由上面所述算法可以得到s,t Z满sa tm (a,m),而它等价于sa (a,m)(%m)。当

(a,m)|b时,同余式有解,一个特解为x

b

s(%m),通解为 (a,m)

x

bm

s k(%m), k {0,1,...,(a,m) 1}。 (a,m)(a,m)

计算过程

与求解二元一次不定方程不同的是,求解同余式不需要m的系数Pk。 计算时可以借助表格:

具体计算步骤如下:

1. 由递推式rk 2 qkrk 1 rk作带余除法计算rk、qk; 2. 由递推式Qk qkQk 1 Qk 2计算Qk;

3. 直到得到rn 1 0,停止计算并得到n、rn、Qn; 4. 然后令(a,m) rn、s ( 1)

n 1

Qn,由公式sa (a,m)(%m)易得到通解。

当然,也可先化简同余式后再求解,只是当(a,b,m)含较大素因数时无法直接化简。

一个例子

例如:解同余式1215x 560(%2755)。 通过上述方法可得计算表

8 1

由于(a,m) 5|560,因此同余式有解。s ( 1)195 195,故通解为

x

5602755

( 195) k 200 551k(%2755), k {0,1,...,5 1}。 55

东华理工大学理学院

——邓能财

同余式的欧几里得算法.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219