private static readonly int[] results = new[]{0, 2, 4, 6, 8, 1, 3, 5, 7, 9};
private static readonly Random random = new Random();
public static void Main()
string cardnumber = "991000000001501002";
cardnumber = "991"+ i.ToString() + cardnumber.Substring(4,14);
if (CheckDigits(cardnumber))
Console.WriteLine("Passed: " + cardnumber);
private static bool CheckDigits(string cardNumber)
int[] digits = cardNumber.Select(c => c - '0').ToArray();
for (int i = digits.Length % 2; i < digits.Length; i += 2)
digits[i] = results[digits[i]];
return digits.Sum() % 10 == 0;