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

qual é o método mais rápido para calcular isso, eu vi algumas pessoas usando matrizes e quando eu procurei na internet, elas conversaram sobre valores e vetores de eigen (nenhuma idéia sobre isso) ... havia uma pergunta que se reduzia a uma recursiva equação f (n) = (2 * f (n-1)) + 2 ef (1) = 1, n pode ser de até 10 ^ 9 .... eu já tentei usar DP, armazenando até 1000000 valores e usando o método comum de exponenciação rápida, o tempo limite é geralmente fraco nessas perguntas do módulo, que exigem o cálculo de valores grandes

questionAnswers(2)

yourAnswerToTheQuestion