Source: http://maths-au-quotidien.fr/lycee/docs/algo_luhn2.pdf