Open In App

Fermat's Last Theorem

Last Updated : 23 Jun, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

According to Fermat's Last Theorem, no three positive integers a, b, c satisfy the equation, a^n + b^n = c^n    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,
5^2 + 12^2 = 13^2
 
  3^2 + 4^2 = 5^2

  8^2 + 15^2 = 17^2

  9^2 + 40^2 = 41^2


 

C++
// 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 code
int main()
{
    testSomeNumbers(10, 3);
    return 0;
}
Java
// 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
# 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 code
testSomeNumbers(10, 3)

# This code is contributed by Smitha Dinesh Semwal.
C#
// 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
// 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
?>
JavaScript
<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>

Output: 
No counter example within given range and data

 

Time Complexity: O(m2logn) , where m is the limit
Auxiliary Space: O(1)

Please suggest if someone has a better solution which is more efficient in terms of space and time.


Article Tags :
Practice Tags :

Similar Reads