Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

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 <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

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!