Pythagorean Quadruple
Given four points, check whether they form Pythagorean Quadruple.
It is defined as a tuple of integers a, b, c, d such that
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++ 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 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.
# 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# 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 checking
function 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 checking
function 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)