Given an ellipse, with major axis length **2a** & **2b**. The task is to find the area of the largest rectangle that can be inscribed in it.

**Examples**:

Input: a = 4, b = 3 Output: 24 Input: a = 10, b = 8 Output: 160

**Approach**:

Let the upper right corner of the rectangle has co-ordinates **(x, y)**,

Then the area of rectangle, **A = 4*x*y**.

Now,

Equation of ellipse,

(x^{2}/a^{2}) + (y^{2}/b^{2}) = 1

Thinking of the area as a function ofx, we have

dA/dx = 4xdy/dx + 4yDifferentiating equation of ellipse with respect to x, we have

2x/a,^{2}+ (2y/b^{2})dy/dx = 0so,

dy/dx = -b,^{2}x/a^{2}y

and

dAdx = 4y – (4b^{2}x^{2}/a^{2}y)Setting this to 0 and simplifying, we have

y.^{2}= b^{2}x^{2}/a^{2}From equation of ellipse we know that,

y^{2}=b^{2}– b^{2}x^{2}/a2Thus,

y,^{2}=b^{2}– y^{2}2y, and^{2}=b^{2}y.^{2}b^{2}= 1/2Clearly, then,

xas well, and the area is maximized when^{2}a^{2}= 1/2

x= a/√2andy=b/√2So the maximum area Area,

A_{max}= 2ab

Below is the implementation of the above approach:

## C++

`// C++ Program to find the biggest rectangle ` `// which can be inscribed within the ellipse ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to find the area ` `// of the rectangle ` `float` `rectanglearea(` `float` `a, ` `float` `b) ` `{ ` ` ` ` ` `// a and b cannot be negative ` ` ` `if` `(a < 0 || b < 0) ` ` ` `return` `-1; ` ` ` ` ` `// area of the rectangle ` ` ` `return` `2 * a * b; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `float` `a = 10, b = 8; ` ` ` `cout << rectanglearea(a, b) << endl; ` ` ` `return` `0; ` `} ` |

## Java

`// Java Program to find the biggest rectangle ` `// which can be inscribed within the ellipse ` ` ` `import` `java.util.*; ` `import` `java.lang.*; ` `import` `java.io.*; ` ` ` `class` `GFG{ ` `// Function to find the area ` `// of the rectangle ` `static` `float` `rectanglearea(` `float` `a, ` `float` `b) ` `{ ` ` ` ` ` `// a and b cannot be negative ` ` ` `if` `(a < ` `0` `|| b < ` `0` `) ` ` ` `return` `-` `1` `; ` ` ` ` ` `// area of the rectangle ` ` ` `return` `2` `* a * b; ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String args[]) ` `{ ` ` ` `float` `a = ` `10` `, b = ` `8` `; ` ` ` `System.out.println(rectanglearea(a, b)); ` `} ` `} ` |

## Python 3

`# Python 3 Program to find the biggest rectangle ` `# which can be inscribed within the ellipse ` ` ` `# Function to find the area ` `# of the rectangle ` `def` `rectanglearea(a, b) : ` ` ` ` ` `# a and b cannot be negative ` ` ` `if` `a < ` `0` `or` `b < ` `0` `: ` ` ` `return` `-` `1` ` ` ` ` `# area of the rectangle ` ` ` `return` `2` `*` `a ` `*` `b ` ` ` ` ` `# Driver code ` `if` `__name__ ` `=` `=` `"__main__"` `: ` ` ` ` ` `a, b ` `=` `10` `, ` `8` ` ` `print` `(rectanglearea(a, b)) ` ` ` ` ` `# This code is contributed by ANKITRAI1 ` |

## C#

`// C# Program to find the ` `// biggest rectangle which ` `// can be inscribed within ` `// the ellipse ` `using` `System; ` ` ` `class` `GFG ` `{ ` `// Function to find the area ` `// of the rectangle ` `static` `float` `rectanglearea(` `float` `a, ` ` ` `float` `b) ` `{ ` ` ` ` ` `// a and b cannot be negative ` ` ` `if` `(a < 0 || b < 0) ` ` ` `return` `-1; ` ` ` ` ` `// area of the rectangle ` ` ` `return` `2 * a * b; ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main() ` `{ ` ` ` `float` `a = 10, b = 8; ` ` ` `Console.WriteLine(rectanglearea(a, b)); ` `} ` `} ` ` ` `// This code is contributed ` `// by inder_verma ` |

## PHP

`<?php ` `// PHP Program to find the biggest ` `// rectangle which can be inscribed ` `// within the ellipse ` ` ` `// Function to find the area ` `// of the rectangle ` `function` `rectanglearea(` `$a` `, ` `$b` `) ` `{ ` ` ` ` ` `// a and b cannot be negative ` ` ` `if` `(` `$a` `< 0 ` `or` `$b` `< 0) ` ` ` `return` `-1; ` ` ` ` ` `// area of the rectangle ` ` ` `return` `2 * ` `$a` `* ` `$b` `; ` `} ` ` ` `// Driver code ` `$a` `= 10; ` `$b` `= 8; ` `echo` `rectanglearea(` `$a` `, ` `$b` `); ` ` ` `// This code is contributed ` `// by inder_verma ` `?> ` |

**Output:**

160

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.