# Nth term of a Custom Fibonacci series

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 **N ^{th}** term of this series.

**Examples:**

Input:A = 10, B = 17, N = 3Output:7

10, 17, 7, -10, -17, …Input:A = 50, B = 12, N = 10Output:-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 <bits/stdc++.h>` `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

`<script>` `// javascript implementation of the` `// Custom Fibonacci series ` `// Function to return the nth term` ` ` `// of the required sequence` ` ` `function` `nth_term(a , b , n)` ` ` `{` ` ` `var` `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` ` ` `var` `a = 10, b = 17, n = 3;` ` ` `document.write(nth_term(a, b, n));` `// This code is contributed by Rajput-Ji` `</script>` |

**Output:**

7