Pythagorean Quadruple (original) (raw)

Last Updated : 22 Jun, 2022

Given four points, check whether they form Pythagorean Quadruple.
It is defined as a tuple of integers a, b, c, d such that a^2 + b^2 + c^2 = d^2 . They are basically the solutions of Diophantine Equations. In the geometric interpretation it represents a cuboid with integer side lengths |a|, |b|, |c| and whose space diagonal is |d| .

The cuboids sides shown here are examples of pythagorean quadruples.
It is primitive when their greatest common divisor is 1. Every Pythagorean quadruple is an integer multiple of a primitive quadruple. We can generate the set of primitive pythagorean quadruples for which a is odd can be generated by formula :

a = m2 + n2 - p2 - q2,
b = 2(mq + np),
c = 2(nq - mp),
d = m2 + n2 + p2 + q2

where m, n, p, q are non-negative integers with greatest common divisor 1 such that m + n + p + q are odd. Thus, all primitive Pythagorean quadruples are characterized by Lebesgue's identity.

(m2 + n2 + p2 + q2)2 = (2mq + 2nq)2 + 2(nq - mp)2 + (m2 + n2 - p2 - q2)m2 + n2 - p2 - q2

C++ `

// C++ code to detect Pythagorean Quadruples. #include <bits/stdc++.h> using namespace std;

// function for checking bool pythagorean_quadruple(int a, int b, int c, int d) { int sum = a * a + b * b + c * c; if (d * d == sum) return true; else return false; }

// Driver Code int main() { int a = 1, b = 2, c = 2, d = 3; if (pythagorean_quadruple(a, b, c, d)) cout << "Yes" << endl; else cout << "No" << endl; }

Java

// Java code to detect Pythagorean Quadruples. import java.io.; import java.util.;

class GFG {

// function for checking static Boolean pythagorean_quadruple(int a, int b, int c, int d) { int sum = a * a + b * b + c * c; if (d * d == sum) return true; else return false; }

// Driver function public static void main (String[] args) { int a = 1, b = 2, c = 2, d = 3; if (pythagorean_quadruple(a, b, c, d)) System.out.println("Yes"); else System.out.println("No" );

}

} // This code is contributed by Gitanjali.

Python3

Python code to detect

Pythagorean Quadruples.

import math

function for checking

def pythagorean_quadruple(a,b, c, d):

sum = a * a + b * b + c * c;
if (d * d == sum):
    return True
else:
    return False

#driver code a = 1 b = 2 c = 2 d = 3 if (pythagorean_quadruple(a, b, c, d)): print("Yes") else: print("No" )

This code is contributed

by Gitanjali.

C#

// C# code to detect // Pythagorean Quadruples. using System;

class GFG {

// function for checking
static Boolean pythagorean_quadruple(int a,
                        int b, int c, int d)
{
    int sum = a * a + b * b + c * c;
    if (d * d == sum)
        return true;
    else
        return false;
}

// Driver function
    public static void Main () {
        
    int a = 1, b = 2, c = 2, d = 3;
    
    if (pythagorean_quadruple(a, b, c, d))
        Console.WriteLine("Yes");
    else
        Console.WriteLine("No" );
        
}

}

// This code is contributed by vt_M.

PHP

b,b, b,c, $d) { sum=sum = sum=a * a+a + a+b * b+b + b+c * $c; if ($d * d==d == d==sum) return true; else return false; } // Driver Code a=1;a = 1; a=1;b = 2; c=2;c = 2; c=2;d = 3; if (pythagorean_quadruple($a, b,b, b,c, $d)) echo "Yes" ; else echo "No" ; // This code is contributed by anuj_67. ?>

JavaScript

`

Output:

Yes

Time Complexity: O(1)
Auxiliary Space: O(1)

References
Wiki
mathworld