# Square Difference of Two large Consecutive Numbers

• Difficulty Level : Medium
• Last Updated : 10 Mar, 2021

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 = 5
Output:
Explanation:
52 – 42 = 25 – 16 = 9.
Input: N = 999999999, M = 1000000000
Output: 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 M2 – N2.
• On replacing M with N + 1, the above equation becomes:

`(N + 1)2 - N2`
• (N + 1)2 can be expanded to:

`N2 + 12 + 2 * N - N2`
• 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 ``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

 ``
Output:
`1999999999`

My Personal Notes arrow_drop_up