2012年9月17日星期一

ABC conjecture

近日在網上流傳得熱騰騰的話題,相信是ABC conjecture了,因為有人上載了証明方法而多人關心了。而且,這個conjecture與別不同,一般conjecture或hypothesis或theorem等等都以提出者的姓氏命名,但這個卻叫ABC,十分有趣。那麼,什麼是ABC conjecture呢?

選擇兩個大於0並且互質的整數,即是沒有大於1的common factor,a和b,然後a + b = c,這三個數便是這conjecture的名字ABC的由來。然後計算ABC的distinct prime,因為a和b互質,所以a、b和c都是互質,然後有一function d = f(x),計算x的distinct prime的乘積,我們計算a×b×c的distinct prime,例如:

1 + 2 = 3,f(6) = 3
9 + 14 = 23,f(9 × 14 × 23) = 966
1 + 125 = 126,f(1 × 125 × 126) =210

全部都係c <= d,但有一些例外情況,如:

1 + 8 = 9,f(1 × 8 × 9) = 6

這種情況有幾多呢,寫個program找尋一下:
import sympy

if __name__ == '__main__':
    for a in range(1, 200):
        for b in range(a + 1, 200):
            if sympy.gcd(a, b) > 1:
                continue
            c = a + b
            d = sympy.factorint(a * b * c)
            if reduce(lambda x, y: x*y, d.iterkeys()) < c:
                print(a, b, c)

Program用sympy,只計算所有a < b的case,因為a + b = b + a。執行後發現c > d的情況好罕有,a + b < 400範圍內也只得9個,在2000內也只得32個。

那麼,這些c > d的{a, b, c} triple會有多少呢,可能有無限多個,但d(1 + ε)呢,ABC conjecture就估當ε是一個很少很少很少很少但大過0的數,c > d(1 + ε)的情況只有有限數目。

詳情:

沒有留言:

發佈留言