Find the sum of infinite series 1^2.x^0 + 2^2.x^1 + 3^2.x^2 + 4^2.x^3 +…….

Given an infinite series and a value x, the task is to find its sum. Below is the infinite series

1^2*x^0 + 2^2*x^1 + 3^2*x^2 + 4^2*x^3 +……. upto infinity, where x belongs to (-1, 1)

Examples:

Input: x = 0.5
Output: 12

Input: x = 0.9
Output: 1900

Approach:

Though the given series is not an Arithmetico-Geometric series, however, the differences (2^2-1^2), (3^2-2^2), ... and so on, forms an AP. So, we can use the Method of Differences.

Let\: S = 1 + 4x + 9x^2 + 16x^3 + ...\infty \\\\ Multiply\: both\: sides\: with\: common\: ratio\: x\: of\: the\: GP(geometric progression).\\ S_x = x + 4x^2 + 9x^3 + ...\infty \\  \\ Now, \: subtract\: the\: two\: equations.\\ => (1-x)S = 1 + 3x + 5x^2 + 7x^3 + ...\infty     \null\hfill      (1)\\\\ Now, \: let\: R = 1 + 3x + 5x^2 + 7x^3 + ...\infty, \: which\: is\: an \:Arithmetico-Geometric\: series\: with \:a=1, \: d=2 \:and \:r=x.\\  For an A.G.P.,  $Sum \:R \:= \frac{a}{1-r} + \frac{rd}{(1-r)^2} \\ Substituting\: the \:values, \:we\: get\: R = \frac{1+x}{(1-x)^2} \\ Substitute\: R\: in\: (1), \:we\: get, (1-x)S=\frac{1+x}{(1-x)^2} \\ => S= \frac{1+x}{(1-x)^3}$
Hence, the sum will be (1+x)/(1-x)^3.

Below is the implementation of above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation of above approach
#include <iostream>
#include <math.h>
  
using namespace std;
  
// Function to calculate sum
double solve_sum(double x)
{
    // Return sum
    return (1 + x) / pow(1 - x, 3);
}
  
// Driver code
int main()
{
    // declaration of value of x
    double x = 0.5;
  
    // Function call to calculate
    // the sum when x=0.5
    cout << solve_sum(x);
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program to find 
//sum of the given infinite series
import java.util.*;
  
class solution
{
static double calculateSum(double x)
{
      
// Returning the final sum
return (1 + x) / Math.pow(1 - x, 3);
  
}
  
//Driver code
public static void main(String ar[])
{
      
  double x=0.5;
  System.out.println((int)calculateSum(x));
  
}
}
//This code is contributed by Surendra_Gangwar

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python implementation of above approach
  
# Function to calculate sum
def solve_sum(x):
    # Return sum
    return (1 + x)/pow(1-x, 3)
  
# driver code
  
# declaration of value of x
x = 0.5
  
# Function call to calculate the sum when x = 0.5
print(int(solve_sum(x)))

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# Program to find sum of
// the given infinite series
using System;
  
class GFG
{
static double calculateSum(double x)
{
      
// Returning the final sum
return (1 + x) / Math.Pow(1 - x, 3);
  
}
  
// Driver code
public static void Main()
{
    double x = 0.5;
    Console.WriteLine((int)calculateSum(x));
}
}
  
// This code is contributed
// by inder_verma..

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP implementation of 
// above approach
  
// Function to calculate sum
function solve_sum($x)
{
    // Return sum
    return (1 + $x) / 
            pow(1 - $x, 3);
}
  
// Driver code
  
// declaration of value of x
$x = 0.5;
  
// Function call to calculate
// the sum when x=0.5
echo solve_sum($x);
  
// This code is contributed
// by inder_verma
?>

chevron_right


Output:

12


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.