There are several questions on Stack Overflow discussing how to find the Greatest Common Divisor of two values. One good answer shows a neat recursive function
Rewriting this as a single function...
static int GCD(params int[] numbers) { Func gcd = null; gcd = (a, b) => (b == 0 ? a : gcd(b, a % b)); return numbers.Aggregate(gcd); }