Re: Fermat extended - Only for mathemathicians
- Posted by rswiston at hotmail.com Aug 14, 2002
- 481 views
I think your information is incorrect. Femat's theorem is only true since no one can find a value of p to make it false. (Remember theorem means a statement yet to be proven false). To prove the theorem, one must provide proof that the "conjecture" is true for all values of p (not simply a few selected ones... and infinity is a pretty big number!). Since this is nearly inpossible (I say nearly since super computers can do marvelous things these days) no one has yet to prove (or disprove) the theorem. Your program can produce sums given a provided input from the variables, but will still not "prove" the theorem. It is simply looking for a value that will prove the theorem false (which may well happen if allowed to run long enough... in a loop that doesn't end until the proof has been found invalid) and therefore does not prove the theorem. (AUUGHH high school geometry rears its ugly head!). Unfortunately, computer programs are designed around numbers either set or inputed from a loop or user input. They are not designed to act upon an unknown (do not confuse the term variable we mathmeticians use with the same term computer programmers use). -Robert ----- Original Message ----- From: <rforno at tutopia.com> To: "EUforum" <EUforum at topica.com> Sent: Tuesday, August 13, 2002 10:08 PM Subject: Fermat extended - Only for mathemathicians > > Dear EUphorians: > Apparently, someone proved the last theorem by Fermat to be true. > I don't know if the following extension to Fermat's theorem (or conjecture) > has ever be posed by someone, but here it is, with a program that tries to > find a counterexample. I've found no one yet. > Comments are welcome. > > -- Trying to find a counterexample for the "extended-Fermat conjecture", > that > -- x[1]^p+x[2]^p...+x[n]^p = z^p, for x[i] > 0, 1 < n < p has no integer > -- solutions. > -- Author R. M. Forno - Version 1.0 - 2002/08/13 > > constant COMPL = 30 -- Start with numbers somewhat big > sequence top -- The elements > > procedure verify(integer n, integer p) -- Verify conjecture > atom root, sum > integer r > sum = 0 > for i = 1 to n do -- Always perform the sum to avoid rounding errors > sum += power(top[i], p) > end for > root = power(sum, 1 / p) > r = floor(root + 0.5) -- Beware of rounding errors > if power(r, p) = sum then -- Show results... some day > printf(1, "Power: %d Left: %f Right:", {p, root}) > for i = 1 to n do > printf(1, " %d", top[i]) > end for > puts(1, '\n') > end if > end procedure > > procedure fermat() > integer p, k, i, r > p = 2 > while p <= 20 do > p += 1 > printf(1, "Testing exponent %d\n", p) > r = p - 1 > for n = 2 to r - 1 do -- Previous powers > top = repeat(r + COMPL, r) > verify (n, n + 1) > i = n > while i > 1 do > while top[i] > 1 do > top[i] -= 1 > k = top[i] > while i < n do > i += 1 > top[i] = k -- Avoid repeating previous tests > end while > verify(n, n + 1) > end while > i -= 1 > end while > end for > for n = 2 to r do -- Present power > top = repeat(r + COMPL, r) > verify (n, p) > i = n > while i do > while top[i] > 1 do > top[i] -= 1 > k = top[i] > while i < n do > i += 1 > top[i] = k -- Avoid repeating previous tests > end while > verify(n, p) > end while > i -= 1 > end while > end for > end while > end procedure > > fermat() > > > >