qianyb 发表于 2011-2-18 15:51:26

求(x+y+2)(x-y)=2720的解的方法

求(x+y+2)(x-y)=c(c为正整数,如2720)的x,y的最小正整数解的方法

mathe 发表于 2011-2-18 17:25:04

首先x+y+2和x-y同奇偶
所以如果c是奇数,那么直接对c的任意一个因子分解c=u*v,解方程
x+y+2=u,x-y=v即可
如果c是偶数,那么必须4的倍数才有解,然后因子分解c/4=u*v,解方程
x+y+2=2u,x-y=2v即可。
比如这里2720=4*680
然后将680分解成两个数的乘积,任何一种分解方法对应一个解
比如
x+y+2=2*1
x-y=2*680=1360
得到
x=680,y=-680
这样枚举所有整数解,找出其中的正整数解即可

mathematica 发表于 2011-2-18 17:54:44

lingo!

mathematica 发表于 2011-2-18 17:58:15

这其实就是一个优化问题,算是简单的

mathematica 发表于 2011-2-18 18:22:41

你可以考虑去看华罗庚的 数论导引!

mathematica 发表于 2011-2-18 18:48:03

我以前在网上遇到过求解这个问题的玩意,是一个程序

mathematica 发表于 2011-2-18 18:49:53

这个问题其实很弱智的!穷举法!

mathematica 发表于 2011-2-18 18:52:50

我给一个mathematica求解的办法吧!

mathematica 发表于 2011-2-18 19:07:40

我的mathematica代码
Clear["Global`*"];(*Clear all variables*)
(*输入求解方程,要求是整数*)
Reduce[(x+y+2)(x-y)==2720,{x,y},Integers]Clear["Global`*"];(*Clear all variables*)
(*输入求解方程,要求是整数*)
Reduce[(x+y+2)(x-y)==2720,{x,y},Integers]

mathematica 发表于 2011-2-18 19:10:14

(*求解的结果*)
x==-682,y==-680
x==-682,y==678
x==-343,y==-339
x==-343,y==337
x==-175,y==-167
x==-175,y==165
x==-142,y==-132
x==-142,y==130
x==-94,y==-78
x==-94,y==76
x==-79,y==-59
x==-79,y==57
x==-58,y==-24
x==-58,y==22
x==-55,y==-15
x==-55,y==13
x==53,y==-15
x==53,y==13
x==56,y==-24
x==56,y==22
x==77,y==-59
x==77,y==57
x==92,y==-78
页: [1] 2
查看完整版本: 求(x+y+2)(x-y)=2720的解的方法