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

21 Apr, 2021
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++
Java
Python3
C#
PHP
Javascript
// 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 functionint main(){    int n = 7;    printXYZ(n);    return 0;}
// 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 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 functionn = 7printXYZ(n) # This code is contributed by "Sharad_Bhardwaj".
// 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 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.?>
<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)Alternate Solution We can write 2/n = 1/n + 1/n. And further as 2/n = 1/n + 1/2n + 1/2n. 
vt_m
subhammahato348
Fraction
Mathematical
School Programming
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Algorithm to solve Rubik's Cube
Program to print prime numbers from 1 to N.
Program to multiply two matrices
Fizz Buzz Implementation
Modular multiplicative inverse
Python Dictionary
Arrays in C/C++
Inheritance in C++
Reverse a string in Java
Interfaces in Java