Thursday, July 4, 2024

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 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




<?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.
?>


Javascript




<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)

References 
Wiki 
mathworld
 

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

Dominic Rubhabha Wardslaus
Dominic Rubhabha Wardslaushttps://neveropen.dev
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments