求助+玄2关
  • 板块学术版
  • 楼主xiaoke2021
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/19 23:41
  • 上次更新2024/4/20 10:25:42
查看原帖
求助+玄2关
592751
xiaoke2021楼主2024/4/19 23:41

蒟蒻刚学会扩展欧几里得,想问一下能否用类似的方法解三元一次(甚至是n元一次)不定方程。

事实上,我已经能求出一组特解。

设d=gcd⁡(a,b,c)d= \gcd(a,b,c),对于不定方程 ax+by+cz=dax+by+cz=d 转换为 (bmod  a)x+(cmod  b)+az=d(b \mod a)x+(c\mod b)+az=d 求解。

当方程中有一个系数为0,将该系数对应的未知数设为0进行递归,剩下的系数不为0的两个未知数继续用二元一次不定方程的求解方式求解。

当然,若出现两个未知数的系数均为0,那么直接计算剩下的那个未知数的值并递归。

接着是方程 (bmod  a)x0+(cmod  b)y0+az0=d(b \mod a)x_0+(c \mod b)y_0+az_0=d 的解向原方程的解的转换。

∵bmod  a=b−⌊ba⌋a,cmod  b=c−⌊cb⌋b\because b \mod a=b- \lfloor \frac{b}{a} \rfloor a,c \mod b = c- \lfloor \frac{c}{b} \rfloor b

∴(b−⌊ba⌋a)x0+(c−⌊cb⌋b)y0+az0=d\therefore (b- \lfloor \frac{b}{a} \rfloor a)x_0+(c- \lfloor \frac{c}{b} \rfloor b)y_0+az_0=d

拆括号后提取a,b,c,得

\begin{cases} x=z_0-\lfloor \frac{b}{a} \rfloor x_0 \\ y=x_0-\lfloor \frac{c}{b} \rfloor y_0 \\ z_=y_0 \end{cases}$$ 由此通过递归解出一组特解。 按照扩展欧几里得算法,接下来要求出原方程的最小解,~~漂亮,我就不会了~~。 求助dalao QWQ
2024/4/19 23:41
加载中...