Pythagorean Quadruple

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 . 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++
Java
Python3
C#
PHP
Javascript
// C++ code to detect Pythagorean Quadruples.#include <bits/stdc++.h>using namespace std; // function for checkingbool 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 Codeint 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 code to detect Pythagorean Quadruples.import java.io.*;import java.util.*; class GFG { // function for checkingstatic 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.
# Python  code to detect# Pythagorean Quadruples.import math # function for checkingdef pythagorean_quadruple(a,b, c, d):     sum = a * a + b * b + c * c;    if (d * d == sum):        return True    else:        return False #driver codea = 1b = 2c = 2d = 3if (pythagorean_quadruple(a, b, c, d)):    print("Yes")else:     print("No" ) # This code is contributed# by Gitanjali.
// 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// php code to detect Pythagorean Quadruples. // function for checkingfunction 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))        echo "Yes" ;    else        echo "No" ;         // This code is contributed by anuj_67.?>
<script> // JavaScript program to detect Pythagorean Quadruples. // function for checkingfunction pythagorean_quadruple(a, b,                                   c, d){    let sum = a * a + b * b + c * c;    if (d * d == sum)        return true;    else        return false;}        // Driver code                 let a = 1, b = 2, c = 2, d = 3;    if (pythagorean_quadruple(a, b, c, d))        document.write("Yes");    else        document.write("No" ); </script>
Output: 
Yes
Time Complexity: O(1) Auxiliary Space: O(1)
References Wiki mathworld 
vt_m
splevel62
mailaruyashaswi
Geometric
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.