Related Articles

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

• Last Updated : 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++

 `// CPP program to find x y z that``// satisfies 2/n = 1/x + 1/y + 1/z...``#include ``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

 ``

## Javascript

 ``

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.

Attention reader! All those who say programming isn’t for kids, just haven’t met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12.

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

My Personal Notes arrow_drop_up