找回密码
 欢迎注册
查看: 8273|回复: 9

[讨论] ax+by=c求解

[复制链接]
发表于 2008-5-20 09:46:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
$ax+by=c$,$a,b,c$为已知量,且$a,b,c$两两互素。如何求$(x,y)$?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-20 10:12:22 | 显示全部楼层
可以通过辗转相除法得到通解。
应该有些结论,可惜我身边没有参考书。

其实,$a,b,c$ 不必两两互素,只要 $gcd(a,b) | c$ 即可。
可先求出 ${g, {x_0, y_0}} = "ExtendedGCD"[a, b]$,
则 $x = (c/g)x_0,\quad y = (c/g)y_0$

上述函数 ExtendedGCD 是 Mathematica 中的,HugeCalc 对应的函数名为“GcdEx”。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-20 10:14:51 | 显示全部楼层
因为a和b互质,所以存在x和y使得ax+by=1,其中x和y可以这样求,将a和b辗转相除得到1,然后返回去,得到x和y。貌似叫做联带辗转相除。这样数对(cx,cy)就是要求的。
也可以用中国剩余定理。对于变量更多的情况也适用。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-5-20 10:40:01 | 显示全部楼层
呵呵,我发贴后想了想,已经知道答案了.
谢谢楼上两位.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-5-20 10:43:21 | 显示全部楼层
另外,我好象发现了一个分解因子的算法.
不过,目前还没太想清楚.
如果算法是对的话,有希望分解掉RSA-1024.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-20 11:00:02 | 显示全部楼层
呵呵,那就祝好运了。
可以认为当abc很大(上万位)的时候,问题可以瞬间解决(因为辗转相除的速度是很快的[log(n)])。
但是貌似分解大整数还是很困难的……
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-5-20 11:02:33 | 显示全部楼层
呵呵,当然不是只用这个了.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-20 17:08:12 | 显示全部楼层
那你如果利用这个式子
我觉得你还是不要继续了

连尝试的必要都没有
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-5-20 18:05:36 | 显示全部楼层
呵呵,现在已经发现了算法中一个很难实现的步骤.如果这个步骤可以高效实现,还是有希望分解掉RSA-1024的,但是,现在还没发现比较高效的方法.
呵呵,可能没什么希望了.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-20 20:47:11 | 显示全部楼层


能给我描述下么?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-28 01:25 , Processed in 0.524963 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表