List<int> D = Enumerable.Range(1, 1000) .Where(i => Math.Pow((int)Math.Sqrt(i), 2) != i) .ToList(); BigInteger max = 0; long ret = 0; foreach (var d in D) { BigInteger cur = GetX(d); if (max < cur) { max = cur; ret = d; } }
privatestatic BigInteger GetX(int n) { List<BigInteger> a = new List<BigInteger>() { 0, 1 }; List<BigInteger> b = new List<BigInteger>() { 1, 0 }; List<int> c = new List<int>() { n, 1 };