public class PortugalTaxIdentificationNumber
public static void Main()
bool isValid = isValidPTIN("299999998");
Console.WriteLine(isValid);
private static int getReminder(string ntin)
for (int i=0;i<ntin.Length;i++)
addition += (Convert.ToInt32(ntin[i]) - 48) * (9 - i);
int answer = addition % 11;
if (answer == 10 || answer == 11) return 0;
private static bool isValidPTIN(string ptin)
if (ptin.Length != 9) return false;
if (char.IsLetter(ch)) return false;
int wholestring_check = Convert.ToInt32(ptin[ptin.Length - 1]) - 48;
string wholestring = ptin.Substring(0,ptin.Length - 1);
int wholestring_reminder = getReminder(wholestring);
if (wholestring_reminder != wholestring_check) return false;