Thursday, January 16, 2025
Google search engine
HomeData Modelling & AIFind x, y, z that satisfy 2/n = 1/x + 1/y...

Find x, y, z that satisfy 2/n = 1/x + 1/y + 1/z

Given n, find x, y, z such that x, y, z satisfy the equation “2/n = 1/x + 1/y + 1/z”
There are multiple x, y and z that satisfy the equation print anyone of them, if not possible then print -1.
Examples: 

Input : 3
Output : 3 4 12
Explanation: here 3 4 and 12 satisfy 
the given equation

Input : 7
Output : 7 8 56 

Note that for n = 1 there is no solution, and for n > 1 there is solution x = n, y = n+1, z = n·(n+1).
To come to this solution, represent 2/n as 1/n+1/n and reduce the problem to represent 1/n as a sum of two fractions. Let’s find the difference between 1/n and 1/(n+1) and get a fraction 1/(n*(n+1)), so the solution is

2/n = 1/n + 1/(n+1) + 1/(n*(n+1)) 

C++




// CPP program to find x y z that
// satisfies 2/n = 1/x + 1/y + 1/z...
#include <bits/stdc++.h>
using namespace std;
 
// function to find x y and z that
// satisfy given equation.
void printXYZ(int n)
{
    if (n == 1)
        cout << -1;
 
    else
        cout << "x is " << n << "\ny is "
              << n + 1 << "\nz is "
              << n * (n + 1);
}
 
// driver program to test the above function
int main()
{
    int n = 7;
    printXYZ(n);
    return 0;
}


Java




// Java program to find x y z that
// satisfies 2/n = 1/x + 1/y + 1/z...
import java.io.*;
 
class Sums {
    // function to find x y and z that
    // satisfy given equation.
    static void printXYZ(int n){
        if (n == 1)
            System.out.println(-1);
        else{
        System.out.println("x is "+ n);
        System.out.println("y is "+ (n+1));
        System.out.println("z is "+ (n * (n + 1)));
        }
    }
    // Driver program to test the above function
    public static void main (String[] args) {
        int n = 7;
        printXYZ(n);
    }
}
 
// This code is contributed by Chinmoy Lenka


Python3




# Python3 code to find x y z that
# satisfies 2/n = 1/x + 1/y + 1/z...
 
# function to find x y and z that
# satisfy given equation.
def printXYZ( n ):
    if n == 1:
        print(-1)
    else:
        print("x is " , n )
        print("y is " ,n + 1)
        print("z is " ,n * (n + 1))
 
# driver code to test the above function
n = 7
printXYZ(n)
 
# This code is contributed by "Sharad_Bhardwaj".


C#




// C# program to find x y z that
// satisfies 2/n = 1/x + 1/y + 1/z...
using System;
 
class GFG
{
    // function to find x y and z that
    // satisfy given equation.
    static void printXYZ(int n)
    {
        if (n == 1)
            Console.WriteLine(-1);
        else
        {
            Console.WriteLine("x is "+ n);
            Console.WriteLine("y is "+ (n+1));
            Console.WriteLine("z is "+ (n * (n + 1)));
        }
    }
     
    // Driver program
    public static void Main ()
    {
        int n = 7;
        printXYZ(n);
    }
}
 
// This code is contributed by vt_m


PHP




<?php
// PHP program to find x y z that
// satisfies 2/n = 1/x + 1/y + 1/z...
 
// function to find x y and z that
// satisfy given equation.
function printXYZ($n)
{
    if ($n == 1)
        echo -1;
 
    else
        echo "x is " , $n , "\ny is "
                , $n + 1 , "\nz is ",
                     $n * ($n + 1);
}
 
    // Driver Code
    $n = 7;
    printXYZ($n);
 
// This code is contributed by anuj_67.
?>


Javascript




<script>
 
// Javascript program to find x y z that
// satisfies 2/n = 1/x + 1/y + 1/z...
 
// function to find x y and z that
// satisfy given equation.
function printXYZ(n)
{
    if (n == 1)
        document.write(-1);
 
    else
        document.write("x is " + n + "<br>y is "
              + (n + 1) + "<br>z is "
              + n * (n + 1));
}
 
// driver program to test the above function
    let n = 7;
    printXYZ(n);
 
</script>


Output

x is 7
y is 8
z is 56

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

Alternate Solution 
We can write 2/n = 1/n + 1/n. And further as 2/n = 1/n + 1/2n + 1/2n.

so here x = n, y = 2*n and z = 2*n

Below is the code implementation for the alternate solution

C++




// CPP program to find x y z that satisfies 2/n = 1/x + 1/y + 1/z...
#include <bits/stdc++.h>
using namespace std;
 
// function to find x, y and z that satisfy given equation.
void printXYZ(int n)
{
    if (n == 1)
        cout << -1;
 
    else
        cout << "x is " << n << "\ny is " << 2 * n
             << "\nz is " << 2 * n;
}
 
// driver program to test the above function
int main()
{
    int n = 7;
    printXYZ(n);
    return 0;
}


Java




// Java program to find x y z that satisfies 2/n = 1/x + 1/y + 1/z...
import java.io.*;
 
class GFG {
    // function to find x, y and z that satisfy given equation.
    public static void printXYZ(int n) {
        if (n == 1)
            System.out.println("-1");
 
        else
            System.out.println( "x is " + n + "\ny is " + 2 * n +
                               "\nz is " + 2 * n);
    }
 
    // driver program to test the above function
    public static void main(String[] args) {
        int n = 7;
        printXYZ(n);
    }
}


C#




// C# program to find x y z that satisfies 2/n = 1/x + 1/y + 1/z...
using System;
using System.Linq;
using System.Collections.Generic;
 
class GFG {
 
    // function to find x, y and z that satisfy given equation.
    static void printXYZ(int n)
    {
        if (n == 1)
            Console.Write(-1);
     
        else
            Console.Write("x is " + n + "\ny is " + 2 * n
                 + "\nz is " + 2 * n);
    }
     
    // driver program to test the above function
    static public void Main()
    {
        int n = 7;
        printXYZ(n);
    }   
}
 
// This code is contributed by ratiagrawal.


Javascript




// Javascript program to find x y z that satisfies 2/n = 1/x + 1/y + 1/z...
 
// function to find x, y and z that satisfy given equation.
function printXYZ( n)
{
    if (n == 1)
        console.log(-1);
 
    else
        console.log("x is " + n + "\ny is " + 2 * n
             + "\nz is " + 2 * n);
}
 
// driver program to test the above function
let n = 7;
printXYZ(n);


Python3




# Python program to find x y z that satisfies 2/n = 1/x + 1/y + 1/z...
 
# function to find x, y and z that satisfy given equation.
def printXYZ(n):
    if n == 1:
        print("-1")
    else:
        print(f"x is {n}\ny is {2 * n}\nz is {2 * n}")
 
# driver program to test the above function
if __name__ == '__main__':
    n = 7
    printXYZ(n)
#This code is contributed by chinmaya121221


Output

x is 7
y is 14
z is 14

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

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!

RELATED ARTICLES

Most Popular

Recent Comments