Concordo con Andrea...
in rete ci sono vari siti che parlano di come controllarlo, ma emetterlo e' un'altra cosa...
a questo link puoi trovare spunti su come si fa il controllo...e gli algoritmi
http://www.icosaedro.it/cf-pi/
ciao