It turns out Fermat, and Wiles, were actually right. The famous FLT: “ The equation X^N + Y^N = Z^N has no trivial integer solutions for N > 2 ” Indeed it is correct. I’ll talk about how Wiles got the proof right in 1995 (and what kind of proof Fermat may have had) in part 3 of this post. But if that’s the case, how come the equality 7965^32 + 9516^32 = 9517^32 then? Well it doesn’t as my friend Taras correctly observed. This equality only holds for the first 10 digits of the result – that’s why when looking at the results of the left and right parts separately on a hand-pocket calculator, or on Bing or Google, you may be deceived to believe that this result is true because these calculators truncate the results after the 9 th or the 10 th digit. These are the so-called “Fake FLT Numbers” (F-FLT-N). Let’s write a code in C# to find few F-FLT-N. First some principles that we’ll apply: a) We’ll be dealing with massive huge numbers, numbers with up to 300 digits
Showing posts from April, 2016
- Other Apps
The year was 1995 when Andrew Wiles claimed to have proved the famous Fermat's Last Theorem (FLT, not to be confused with FML ), and hence claiming the Abel Prize , a good amount approaching $1,000,000 bucks. FLT was for nearly 400 years an unattainable journey in mathematics. Many tried to prove it. All failed. Wiles claims to be the one to have solved it. More on this later... FLT is a very easy problem to explain, and that's why it became so famous (unlike mysterious problems such as Riemman Hypothesis which is impossible to understand even what the problem is about). Here is what FLT is: "The equation X^N + Y^N = Z^N has no non-trivial integer solutions for N > 2" Non-trivial just means that we're ignoring any "zero" solutions (that is, solutions such that X*Y*Z = 0). It is straightforward to find solutions for smaller Ns, such as N=2: 5^2 + 12^2 = 13^2. But for N greater than 2, no one has ever been able to find a solution. Until now!
- Other Apps
Let’s define two binary operators: 1) The “at” operator “@”: it takes as input two integers A and B, multiplies them together, and returns the next prime number greater than the result. Hence, A@B = NextLargerPrimeNumber(A*B). 2) The “dash” operator “#”: it takes as input two integers A and B, divides A by B, and returns the previous prime number equal to or less than the result. Hence, A#B = PreviousSmallerOrEqualPrimeNumber(A/B). Oh, two more things: a. First, in case A/B is undefined, simply return 0 b. Second, in case there is no such previous prime number less than or equal to A/B, simply return 1 With these two binary operators in place, one can easily come up with any function or even equations. For example, what would the values of X be such that ((X^2)#(X-1)) @ ((X^3-X)#(X+1)) = 13? It seems like a laborious exercise to try, and it is it. Instead of analyzing equations, one can analyze few functions and their properties rel