Fermat’s Last Theorem
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++
// 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.
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
Please Login to comment...