You do not need to use seive algo here at all. Prime factors of a number can be found in sqrt(n) without the seive. You can store the count of each prime factor in an array. Initialize the HCF with the first number. Then if count of any of the prime factors(say p) for the next(and subsequent numbers) becomes less than what is in the array, update the array and divide the hcf by: p^(difference between what is in the array and the current count).
The total complexity of this algo will be: (sum of sqrt of all numbers) * (some log term - due to power - calculated in logn).