Related Articles
Nth term of a Custom Fibonacci series
• Last Updated : 31 Mar, 2021

Given three integers A, B and N. A Custom Fibonacci series is defined as F(x) = F(x – 1) + F(x + 1) where F(1) = A and F(2) = B. Now the task is to find the Nth term of this series.
Examples:

Input: A = 10, B = 17, N = 3
Output:
10, 17, 7, -10, -17, …
Input: A = 50, B = 12, N = 10
Output: -50

Approach: It can be observed that the series will go on like A, B, B – A, -A, -B, A – B, A, B, B – A, …
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the Custom Fibonacci series` `#include ``using` `namespace` `std;` `// Function to return the nth term``// of the required sequence``int` `nth_term(``int` `a, ``int` `b, ``int` `n)``{``    ``int` `z = 0;``    ``if` `(n % 6 == 1)``        ``z = a;``    ``else` `if` `(n % 6 == 2)``        ``z = b;``    ``else` `if` `(n % 6 == 3)``        ``z = b - a;``    ``else` `if` `(n % 6 == 4)``        ``z = -a;``    ``else` `if` `(n % 6 == 5)``        ``z = -b;``    ``if` `(n % 6 == 0)``        ``z = -(b - a);``    ``return` `z;``}` `// Driver code``int` `main()``{``    ``int` `a = 10, b = 17, n = 3;` `    ``cout << nth_term(a, b, n);` `    ``return` `0;``}`

## Java

 `// Java implementation of the``// Custom Fibonacci series``class` `GFG``{` `// Function to return the nth term``// of the required sequence``static` `int` `nth_term(``int` `a, ``int` `b, ``int` `n)``{``    ``int` `z = ``0``;``    ``if` `(n % ``6` `== ``1``)``        ``z = a;``    ``else` `if` `(n % ``6` `== ``2``)``        ``z = b;``    ``else` `if` `(n % ``6` `== ``3``)``        ``z = b - a;``    ``else` `if` `(n % ``6` `== ``4``)``        ``z = -a;``    ``else` `if` `(n % ``6` `== ``5``)``        ``z = -b;``    ``if` `(n % ``6` `== ``0``)``        ``z = -(b - a);``    ``return` `z;``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `a = ``10``, b = ``17``, n = ``3``;` `    ``System.out.println(nth_term(a, b, n));``}``}` `// This code is contributed by Rajput-Ji`

## Python 3

 `# Python 3 implementation of the``# Custom Fibonacci series` `# Function to return the nth term``# of the required sequence``def` `nth_term(a, b, n):``    ``z ``=` `0``    ``if` `(n ``%` `6` `=``=` `1``):``        ``z ``=` `a``    ``elif` `(n ``%` `6` `=``=` `2``):``        ``z ``=` `b``    ``elif` `(n ``%` `6` `=``=` `3``):``        ``z ``=` `b ``-` `a``    ``elif` `(n ``%` `6` `=``=` `4``):``        ``z ``=` `-``a``    ``elif` `(n ``%` `6` `=``=` `5``):``        ``z ``=` `-``b``    ``if` `(n ``%` `6` `=``=` `0``):``        ``z ``=` `-``(b ``-` `a)``    ``return` `z` `# Driver code``if` `__name__ ``=``=` `'__main__'``:``    ``a ``=` `10``    ``b ``=` `17``    ``n ``=` `3` `    ``print``(nth_term(a, b, n))``    ` `# This code is contributed by Surendra_Gangwar`

## C#

 `// C# implementation of the``// Custom Fibonacci series``using` `System;` `class` `GFG``{``    ` `// Function to return the nth term``// of the required sequence``static` `int` `nth_term(``int` `a, ``int` `b, ``int` `n)``{``    ``int` `z = 0;``    ``if` `(n % 6 == 1)``        ``z = a;``    ``else` `if` `(n % 6 == 2)``        ``z = b;``    ``else` `if` `(n % 6 == 3)``        ``z = b - a;``    ``else` `if` `(n % 6 == 4)``        ``z = -a;``    ``else` `if` `(n % 6 == 5)``        ``z = -b;``    ``if` `(n % 6 == 0)``        ``z = -(b - a);``    ``return` `z;``}` `// Driver code``static` `public` `void` `Main ()``{``    ``int` `a = 10, b = 17, n = 3;` `    ``Console.Write(nth_term(a, b, n));``}``}` `// This code is contributed by ajit.`

## Javascript

 ``
Output:
`7`

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up