spoj#FIBPSUM2. Fibonacci Power Sum (hard)
Fibonacci Power Sum (hard)
This problem is a harder version of FIBPWSUM.
The Fibonacci numbers is defined by
$$ f_0=0, f_1=1, $$
and
$$ f_n = f_{n-1}+f_{n-2} $$
for $n > 1$.
Given three integers $N$, $C$ and $K$, compute the summation
$$ \sum_{n=0}^N f_{Cn}^K. $$
Since the answer can be huge, output it modulo $10^9+7$.
Input
The first line contains an integer $T$, denoting the number of test cases. Each test case contains three space separated integers in the order: $N$, $C$ and $K$.
Constraints
<li>$1 \leq T \leq 100$</li> <li>$1 \leq N, C \leq 10^{18}$</li> <li>$1 \leq K \leq 10^5$</li>
Output
For each test case, output a single line in the format “Case X: Y” without the quotes. Here, X is the case number and Y is the desired answer denoting the sum of the series.
Example
Input:
5
10 1 1
5 2 2
3 3 4
1000000007 7 9
996969696969696 9 6
Output:
Case 1: 143
Case 2: 3540
Case 3: 1340448
Case 4: 880410497
Case 5: 689328397
Credits
Information
There are two test files. The first file is randomly generated while the second file is not.
@Speed Adicts: My solution runs in 1.94s. (approx less than 1s per file)