Задача 773
Балансируемые $k$-ограниченные разбиения

$k$-ограниченное разбиение положительного целого числа $N$ - это способ записи числа $N$ как суммы положительных целых чисел не больше $k$.

Балансируемое разбиение - это такое разбиение числа, которое может быть далее разделено на две части, имеющие равные суммы.

Например, $3 + 2 + 2 + 2 + 2 + 1$ - балансируемое $3$-ограниченное разбиение числа $12$, так как $3 + 2 + 1 = 2 + 2 + 2$. Напротив, $3 + 3 + 3 + 1$ - $3$-ограниченное разбиение числа $10$, которое не является балансируемым.

Пусть $f(k)$ будет наименьшим положительным целым числом $N$, все $k$-ограниченные разбиения которого являются балансируемыми. Например, $f(3) = 12$ и $f(30) \equiv 179092994 \pmod {1\,000\,000\,007}$.

Найдите $f(10^8)$. В качестве ответа приведите остаток от деления полученного результата на $1\,000\,000\,007$.

Оригинал
 
© Проект Эйлера | Translated problems from ProjectEuler.net