cómo calcular 2 ^ n módulo 1000000007, n = 10 ^ 9

cuál es el método más rápido para calcular esto, vi a algunas personas usando matrices y cuando busqué en Internet, hablaron sobre valores propios y vectores propios (no tengo idea de esto) ... hubo una pregunta que se redujo a un recursivo la ecuación f (n) = (2 * f (n-1)) + 2, yf (1) = 1, n podría ser hasta 10 ^ 9 .... ya intenté usar DP, almacenando hasta 1000000 valores y usando el método común de exponenciación rápida, todo el tiempo de espera es generalmente débil en estas preguntas de módulo, que requieren calcular valores grandes

Respuestas a la pregunta(2)

Su respuesta a la pregunta