# Square Difference of Two large Consecutive Numbers

Given two positive consecutive numbers M and N, the task is to find the square difference of the two numbers without computing the square of those numbers.**Examples:**

Input:N = 4, M = 5Output:9Explanation:

5^{2}– 4^{2}= 25 – 16 = 9.Input:N = 999999999, M = 1000000000Output:1999999999

**Approach:** The idea is to use the algebraic expression to solve this problem. It is given in the question that M = N + 1. Therefore:

- The value to be computed is M
^{2}– N^{2}. - On replacing M with N + 1, the above equation becomes:

(N + 1)^{2}- N^{2}

- (N + 1)
^{2}can be expanded to:

N^{2}+ 1^{2}+ 2 * N - N^{2}

- On simplifying, the above equation becomes:

1 + 2 * N 1 + N + N (1 + N) + N M + N

- Therefore, we simply need to compute and return the value of M + N.

Below is the implementation of the above approach:

## CPP

`// C++ program to find the square` `// difference of two large` `// consecutive numbers` `#include <bits/stdc++.h>` `using` `namespace` `std;` `typedef` `long` `long` `l;` `// Function to find the square` `// difference of two large` `// consecutive numbers` `l difference(l M, l N)` `{` ` ` `return` `M + N;` `}` `// Driver code` `int` `main()` `{` ` ` `l M = 999999999;` ` ` `l N = 1000000000;` ` ` `cout << difference(M, N) << endl;` `}` |

## Java

`// Java program to find the square` `// difference of two large` `// consecutive numbers` `class` `GFG{` ` ` `// Function to find the square` `// difference of two large` `// consecutive numbers` `static` `long` `difference(` `long` `M, ` `long` `N)` `{` ` ` `return` `M + N;` `}` ` ` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `long` `M = ` `999999999` `;` ` ` `long` `N = ` `1000000000` `;` ` ` ` ` `System.out.print(difference(M, N) +` `"\n"` `);` `}` `}` `// This code is contributed by 29AjayKumar` |

## Python3

`# Python3 program to find the square` `# difference of two large` `# consecutive numbers` `# Function to find the square` `# difference of two large` `# consecutive numbers` `def` `difference(M, N):` ` ` `return` `M ` `+` `N` `# Driver code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` `M ` `=` `999999999` ` ` `N ` `=` `1000000000` ` ` `print` `(difference(M, N))` `# This code is contributed by mohit kumar 29 ` |

## C#

`// C# program to find the square` `// difference of two large` `// consecutive numbers` `using` `System;` `public` `class` `GFG{` ` ` `// Function to find the square` `// difference of two large` `// consecutive numbers` `static` `long` `difference(` `long` `M, ` `long` `N)` `{` ` ` `return` `M + N;` `}` ` ` `// Driver code` `public` `static` `void` `Main(String[] args)` `{` ` ` `long` `M = 999999999;` ` ` `long` `N = 1000000000;` ` ` ` ` `Console.Write(difference(M, N) +` `"\n"` `);` `}` `}` `// This code is contributed by 29AjayKumar` |

## Javascript

`<script>` `// JavaScript program to find the square` `// difference of two large` `// consecutive numbers` `// Function to find the square` `// difference of two large` `// consecutive numbers` `function` `difference(M, N)` `{` ` ` `return` `M + N;` `}` `// Driver code` `let M = 999999999;` `let N = 1000000000;` `document.write(difference(M, N));` `</script>` |

**Output:**

1999999999