Fermat’s Last Theorem

23 Jun, 2022
According to Fermat’s Last Theorem, no three positive integers a, b, c satisfy the equation, for any integer value of n greater than 2. For n = 1 and n = 2, the equation have infinitely many solutions. 
Some solutions for n = 1 are,
 2 + 3 = 5
 7 + 13 = 20
 5 + 6 = 11
 10 + 9 = 19

Some solutions for n = 2 are,

 
C++
Java
Python3
C#
PHP
Javascript
// C++ program to verify fermat's last theorem// for a given range and n.#include <bits/stdc++.h>using namespace std; void testSomeNumbers(int limit, int n){   if (n < 3)     return;    for (int a=1; a<=limit; a++)     for (int b=a; b<=limit; b++)     {         // Check if there exists a triplet         // such that a^n + b^n = c^n         int pow_sum = pow(a, n) + pow(b, n);         double c = pow(pow_sum, 1.0/n);         int c_pow = pow((int)c, n);         if (c_pow == pow_sum)         {             cout << "Count example found";             return;         }     }      cout << "No counter example within given"            " range and data";} // driver codeint main(){    testSomeNumbers(10, 3);    return 0;}
// Java program to verify fermat's last theorem// for a given range and n.import java.io.*; class GFG{    static void testSomeNumbers(int limit, int n)    {        if (n < 3)            return;                 for (int a = 1; a <= limit; a++)            for (int b = a; b <= limit; b++)            {                // Check if there exists a triplet                // such that a^n + b^n = c^n                int pow_sum = (int)(Math.pow(a, n)                               + Math.pow(b, n));                double c = Math.pow(pow_sum, 1.0 / n);                int c_pow = (int)Math.pow((int)c, n);                if (c_pow == pow_sum)                {                    System.out.println("Count example found");                    return;                }            }                     System.out.println("No counter example within given"+                               " range and data");    }         // Driver code    public static void main (String[] args)    {        testSomeNumbers(12, 5);         }} // This code is contributed by vt_m.
# Python3 program to verify fermat's last# theorem for a given range and n. def testSomeNumbers(limit, n) :     if (n < 3):        return         for a in range(1, limit + 1):        for b in range(a, limit + 1):                     # Check if there exists a triplet            # such that a^n + b^n = c^n            pow_sum = pow(a, n) + pow(b, n)            c = pow(pow_sum, 1.0 / n)            c_pow = pow(int(c), n)                         if (c_pow == pow_sum):                print("Count example found")                return    print("No counter example within given range and data") # Driver codetestSomeNumbers(10, 3) # This code is contributed by Smitha Dinesh Semwal.
// C# program to verify fermat's last theorem// for a given range and n.using System; class GFG {         static void testSomeNumbers(int limit, int n)    {        if (n < 3)            return;                 for (int a = 1; a <= limit; a++)            for (int b = a; b <= limit; b++)            {                                 // Check if there exists a triplet                // such that a^n + b^n = c^n                int pow_sum = (int)(Math.Pow(a, n)                                + Math.Pow(b, n));                double c = Math.Pow(pow_sum, 1.0 / n);                int c_pow = (int)Math.Pow((int)c, n);                                 if (c_pow == pow_sum)                {                    Console.WriteLine("Count example found");                    return;                }            }                     Console.WriteLine("No counter example within"                                + " given range and data");    }         // Driver code    public static void Main ()    {        testSomeNumbers(12, 3);         }} // This code is contributed by vt_m.
<?php// PHP program to verify fermat's// last theorem for a given range//and n. function testSomeNumbers($limit, $n){    if ($n < 3)         for($a = 1; $a <= $limit; $a++)        for($b = $a; $b <= $limit; $b++)    {                 // Check if there exists a triplet        // such that a^n + b^n = c^n        $pow_sum = pow($a, $n) + pow($b, $n);                 $c = pow($pow_sum, 1.0 / $n);        $c_pow = pow($c, $n);        if ($c_pow != $pow_sum)        {            echo "Count example found";            return;        }    }     echo "No counter example within ".              "given range and data";}     // Driver Code    testSomeNumbers(10, 3); // This code is contributed by m_kit?>
<script> // JavaScript program to verify fermat's last theorem// for a given range and n.     function testSomeNumbers(limit, n)    {        if (n < 3)            return;                   for (let a = 1; a <= limit; a++)            for (let b = a; b <= limit; b++)            {                // Check if there exists a triplet                // such that a^n + b^n = c^n                let pow_sum = (Math.pow(a, n)                               + Math.pow(b, n));                let c = Math.pow(pow_sum, 1.0 / n);                let c_pow = Math.pow(Math.round(c), n);                if (c_pow == pow_sum)                {                    document.write("Count example found");                    return;                }            }                       document.write("No counter example within given"+                               " range and data");    }   // Driver Code         testSomeNumbers(12, 5);           </script>
No counter example within given range and data
 
Time Complexity: O(m2logn) , where m is the limitAuxiliary Space: O(1)
Please suggest if someone has a better solution which is more efficient in terms of space and time.This article is contributed by Aarti_Rathi. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
jit_t
chinmoy1997pal
codewithmini
number-theory
Mathematical
number-theory
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Algorithm to solve Rubik's Cube
Merge two sorted arrays with O(1) extra space
Program to print prime numbers from 1 to N.
Segment Tree | Set 1 (Sum of given range)
Check if a number is Palindrome
Count ways to reach the n'th stair
Fizz Buzz Implementation
Median of two sorted arrays of same size
Sum of the series (1*2) + (2*3) + (3*4) + ...... upto n terms
Product of Array except itself