Вот ответ, который я искал.
Самый лучший способ найти gcd из n чисел - это использовать recursion.ie gcd (a, b, c) = gcd (gcd (a, b), c). Но я получал тайм-ауты в некоторых программах, когда я делал это.
Оптимизация, которая была здесь необходима, заключалась в том, что рекурсия должна решаться с использованием алгоритма быстрого умножения матриц.