def gcd(a, b) if (a < 1) or (b < 1) throw new(InvalidNumberException, "gcd cannot be calculated on values < 1") end c = 0 while b != 0 c = a a = b b = c % b end return a end def lcm(m, n) return (m * n) / gcd(m, n) end println lcm(12, 18) println lcm(6, 14) println lcm(1,2) = lcm(2,1)