關於求解不定方程的n(n-1)=2m(m-1)的解法的總結

OpenSoucre發表於2013-11-24

主要參考下面兩篇論文

1、《不定方程x(x-1)=Dy(y-1)的解法》

2、《用遞推公式求一個不定方程的正整數解》

原有題目意思是

記得有一次全班去唱K, 其中有個活動是情歌對唱. 具體操作流程是這樣的:
準備好 21 個鬮(我們班 15 男 6 女), 其中只有兩個是有標記的, 每人隨意抓取一個, 最後取到有標記的鬮的兩個人去點首情歌對唱.
旁邊一哥們兒幽幽地對我說, 看來攪基真是神的安排啊, 你看我們班的男女人數, 攪基的機率 C(15,2)/C(21,2) 剛好是 1/2.
給跪了, 這哥們兒對數字太敏感了, 簡直是拉馬努金轉世啊. 不過我隨之想到一個問題: (21, 15) 真的是神的唯一安排嗎? 其實不是的,
神還有很多類似的安排. 比如 (4, 3), 顯然 C(4,2)/C(3,2) 也等於 1/2, 當然還有 (120, 85) 等等等等.
神的安排太多太多了, 如果我們定義 (n, m) 是一個安排(其中 1 < m < n), 而如果 C(m,2)/C(n,2) = 1/2, 它就是神的安排.
現在的問題是, 給你一個不大於 10^9 的正整數 N, 有多少組神的安排 (n, m) 滿足 n <= N 呢?

解題思路:

對C(m,2)/C(n,2) = 1/2 進行化簡得到的為n(n-1) = 2m(m-1),求出n<=N的整數解的個數。

將方程兩邊同時乘以4得到:4n(n-1) = 8m(m-1),將其配方得到:(2n-1)2 =2(2m-1)2-1,令X=2n-1,Y=2m-1

則得到方程:X2-2Y2=-1  滿足佩爾方程:x2-Dy2=Q,根據上面兩篇論文,可以知道不定方程的解為

X+Y√2 = ±(1+√2)2n+1,n = 0,±1,±2,±3,………

方程X2-2Y2=-1 滿足x > 1,y>1的整數解可以用遞推公式表示即

x1=7,y1=5,

xk+1=2xk+4yk,                     其中k=1,2,3............

yk+1=2xk+3yk

注意最後要去掉(1,1)及所有的偶數解(因為X=2n-1,Y=2m-1,X,Y必須是奇數)

python版的原始碼為:

N=100
cnt = 0
x,y=1,1
while x<= 2*N-1:
    x,y=3*x+4*y,2*x+3*y
    if x > 2*N-1:
        break
    if x%2 and y%2:
        cnt +=1
print cnt

 

 

相關文章