около 5 тысяч чисел. длина числа в среднем 150 десятичных знака.
При такой длине искать канонические разложения невыгодно.
Но возможно подойдет комбинированный метод: найти канонические разложения для тех чисел, для которых это легко (ограничив поиск разложения по времени). А затем искать: алгоритмом Евклида для тех пар, где оба числа не удалось разложить; через канонические разложения в парах, где оно известно для обоих; испытывая, являются ли делители одного делителями другого, в смешанных парах.
А с другой стороны стоит ли заморачиваться? 12 миллионов раз найти НОД 150-значных чисел... Хороший мат.пакет за несколько минут должен управится.