# Find the dimensions of Right angled triangle

Given H (Hypotenuse) and A (area) of a right angled triangle, find the dimensions of right angled triangle such that the hypotenuse is of length H and its area is A. If no such triangle exists, print “Not Possible”.

Examples:

```Input : H = 10, A = 24
Output : P = 6.00, B = 8.00

Input : H = 13, A = 36
Output : Not Possible
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:
Before moving to exact solution, let’s do some of mathematical calculations related to properties of Right angled triangle.
Suppose H = Hypotenuse, P = Perpendicular, B = Base and A = Area of right angled triangle.

We have some sort of equations as :

```P^2 + B^2 = H^2
P * B = 2 * A
(P+B)^2 = P^2 + B^2 + 2*P*B = H^2 + 4*A
(P+B) = sqrt(H^2 + 4*A)  ----1
(P-B)^2 = P^2 + B^2 - 2*P*B = H^2 - 4*A
mod(P-B) = sqrt(H^2 - 4*A)  ----2
from equation (2) we can conclude that if
H^2 < 4*A then no solution is possible.

Further from (1)+(2) and (1)-(2) we have :
P = (sqrt(H^2 + 4*A) + sqrt(H^2 - 4*A) ) / 2
B = (sqrt(H^2 + 4*A) - sqrt(H^2 - 4*A) ) / 2
```

Below is the implementation of above approach:

## C++

 `// CPP program to find dimensions of ` `// Right angled triangle ` `#include ` `using` `namespace` `std; ` ` `  `// function to calculate dimension ` `void` `findDimen(``int` `H, ``int` `A) ` `{ ` `    ``// P^2+B^2 = H^2 ` `    ``// P*B = 2*A ` `    ``// (P+B)^2 = P^2+B^2+2*P*B = H^2+4*A ` `    ``// (P-B)^2 = P^2+B^2-2*P*B = H^2-4*A ` `    ``// P+B = sqrt(H^2+4*A) ` `    ``// |P-B| = sqrt(H^2-4*A) ` ` `  `    ``if` `(H * H < 4 * A) { ` `        ``cout << ````"Not Possible "````; ` `        ``return``; ` `    ``} ` ` `  `    ``// sqrt value of H^2 + 4A and H^2- 4A ` `    ``double` `apb = ``sqrt``(H * H + 4 * A); ` `    ``double` `asb = ``sqrt``(H * H - 4 * A); ` ` `  `    ``// Set precision ` `    ``cout.precision(2); ` ` `  `    ``cout << ``"P = "` `<< fixed ` `         ``<< (apb - asb) / 2.0 << ````" "````; ` `    ``cout << ``"B = "` `<< (apb + asb) / 2.0; ` `} ` ` `  `// driver function ` `int` `main() ` `{ ` `    ``int` `H = 5; ` `    ``int` `A = 6; ` `    ``findDimen(H, A); ` `    ``return` `0; ` `} `

/div>

## Java

 `// Java program to find dimensions of ` `// Right angled triangle ` `class` `GFG { ` ` `  `    ``// function to calculate dimension ` `    ``static` `void` `findDimen(``int` `H, ``int` `A) ` `    ``{ ` ` `  `        ``// P^2+B^2 = H^2 ` `        ``// P*B = 2*A ` `        ``// (P+B)^2 = P^2+B^2+2*P*B = H^2+4*A ` `        ``// (P-B)^2 = P^2+B^2-2*P*B = H^2-4*A ` `        ``// P+B = sqrt(H^2+4*A) ` `        ``// |P-B| = sqrt(H^2-4*A) ` `        ``if` `(H * H < ``4` `* A) { ` `            ``System.out.println(``"Not Possible"``); ` `            ``return``; ` `        ``} ` ` `  `        ``// sqrt value of H^2 + 4A and H^2- 4A ` `        ``double` `apb = Math.sqrt(H * H + ``4` `* A); ` `        ``double` `asb = Math.sqrt(H * H - ``4` `* A); ` ` `  `        ``System.out.println(``"P = "` `+ Math.round(((apb - asb) / ``2.0``) * ``100.0``) / ``100.0``); ` `        ``System.out.print(``"B = "` `+ Math.round(((apb + asb) / ``2.0``) * ``100.0``) / ``100.0``); ` `    ``} ` ` `  `    ``// Driver function ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `H = ``5``; ` `        ``int` `A = ``6``; ` ` `  `        ``findDimen(H, A); ` `    ``} ` `} ` ` `  `// This code is contributed by Anant Agarwal. `

## Python3

 `# Python code to find dimensions ` `# of Right angled triangle ` ` `  `# importing the math package  ` `# to use sqrt function ` `from` `math ``import` `sqrt ` ` `  `# function to find the dimensions ` `def` `findDimen( H, A): ` ` `  `    ``# P ^ 2 + B ^ 2 = H ^ 2 ` `    ``# P * B = 2 * A ` `    ``# (P + B)^2 = P ^ 2 + B ^ 2 + 2 * P*B = H ^ 2 + 4 * A ` `    ``# (P-B)^2 = P ^ 2 + B ^ 2-2 * P*B = H ^ 2-4 * A ` `    ``# P + B = sqrt(H ^ 2 + 4 * A) ` `    ``# |P-B| = sqrt(H ^ 2-4 * A) ` `    ``if` `H ``*` `H < ``4` `*` `A: ` `        ``print``(``"Not Possible"``) ` `        ``return` ` `  `    ``# sqrt value of H ^ 2 + 4A and H ^ 2- 4A ` `    ``apb ``=` `sqrt(H ``*` `H ``+` `4` `*` `A) ` `    ``asb ``=` `sqrt(H ``*` `H ``-` `4` `*` `A) ` `     `  `    ``# printing the dimensions ` `    ``print``(``"P = "``, ``"%.2f"` `%``((apb ``-` `asb) ``/` `2.0``)) ` `    ``print``(``"B = "``, ``"%.2f"` `%``((apb ``+` `asb) ``/` `2.0``)) ` `     `  `     `  `# driver code ` `H ``=` `5` `# assigning value to H ` `A ``=` `6` `# assigning value to A ` `findDimen(H, A) ``# calliing function ` ` `  `# This code is contributed by "Abhishek Sharma 44" `

## C#

 `// C# program to find dimensions of ` `// Right angled triangle ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// function to calculate dimension ` `    ``static` `void` `findDimen(``int` `H, ``int` `A) ` `    ``{ ` ` `  `        ``// P^2+B^2 = H^2 ` `        ``// P*B = 2*A ` `        ``// (P+B)^2 = P^2+B^2+2*P*B = H^2+4*A ` `        ``// (P-B)^2 = P^2+B^2-2*P*B = H^2-4*A ` `        ``// P+B = sqrt(H^2+4*A) ` `        ``// |P-B| = sqrt(H^2-4*A) ` `        ``if` `(H * H < 4 * A) { ` `            ``Console.WriteLine(``"Not Possible"``); ` `            ``return``; ` `        ``} ` ` `  `        ``// sqrt value of H^2 + 4A and H^2- 4A ` `        ``double` `apb = Math.Sqrt(H * H + 4 * A); ` `        ``double` `asb = Math.Sqrt(H * H - 4 * A); ` ` `  `        ``Console.WriteLine(``"P = "` `+ Math.Round( ` `          ``((apb - asb) / 2.0) * 100.0) / 100.0); ` `           `  `        ``Console.WriteLine(``"B = "` `+ Math.Round( ` `          ``((apb + asb) / 2.0) * 100.0) / 100.0); ` `    ``} ` ` `  `    ``// Driver function ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `H = 5; ` `        ``int` `A = 6; ` ` `  `        ``findDimen(H, A); ` `    ``} ` `} ` ` `  `// This code is contributed by vt_m. `

## PHP

 ` `

Output:

```P = 3.00
B = 4.00
```