static void Main(string[] args)
        {
            long numberToFactor = 600851475143;


            long highestPrime = PrimeFactory.GetHighestPrime(numberToFactor);
           
            Console.WriteLine("Highest prime factor of "+ numberToFactor +": " + highestPrime);
            Console.ReadKey();

        }
        public static long GetHighestPrime(long numberToFactor)
        {
            PrimeFactory primeFactory = new PrimeFactory();

            long highestPrime = 1;

            while (numberToFactor > 1)
            {
                long prime = primeFactory.ReturnFirstOrNextPrime();

                while (numberToFactor % prime == 0)
                {
                    highestPrime    = prime;
                    numberToFactor /= prime;
                }
            }
            return(highestPrime);
        }