équations diophantiennes ont enchanté les mathématiciens depuis Diophante d'Alexandrie d'abord proposé la résolution d'une équation de la forme ax + bx = c . Sous cette forme, l'équation est connue comme une équation diophantienne linéaire. Cette équation a seulement une solution lorsque c est le plus grand commun diviseur de a et b ou lorsque c est égal à un multiple du plus grand commun diviseur de a et b . Sinon, il n'y a pas de solutions pour cette équation. Développé par le professeur Jim Carlson de l'Université de l'Illinois à Urbana /Champagne , le programme court ci-dessous montre la puissance de Python pour des tâches mathématiques. Choses que vous devez 
 Python 2.6 ou supérieur 
 Afficher plus Instructions 
 1 
 Ouvrez une session de terminal et invoquer l'interpréteur Python avec la commande suivante: 
 < p > Mon - iMac : ~ $ me python -v 
 
 Ce sera de retour d'une longue liste de tous les modules Python disponibles dans votre installation et à la fin , il vous dira quelle version de Python est installé sur votre ordinateur. 
 2 
 créer une nouvelle définition d'une fonction en Python en entrant le code suivant à l'invite de Python. Après professeur Carlson, nous appellerons cette " isolve ": 
 
 >>> def isolve (a, b , c): 
 
 Le côlon dira Python ne pas interpréter immédiatement lorsque vous appuyez sur la touche de retour de sorte que vous avez plus d'espace pour votre programme. 
 3 
 Créer deux variables , Q et R , qui se tiendront pour le quotient et le reste des variables de l'équation a et b , puis appeler la fonction divmod Python, qui va trouver et diviser deux nombres et afficher leur diviseur et le reste , le cas échéant . Le code devrait ressembler à ceci : 
 
 ... q, r = divmod (a, b ) 
 4 
 Créer une instruction if qui va afficher rapidement une solution à l'équation lorsqu'il leur a pas de reste . Tapez la commande suivante : 
 
 ... si r == 0 : 
 
 ... retourner ( [ 0, c /b] ) 
 5 
 Créer une instruction else pour le cas où il ya un reste : 
 
 ... autre : 
 
 ... sol = isolve ( b , r, c) 
 
 ... u = sol [0] 
 
 ... v = sol [1] 
 
 ... retourner ( [v , u - q * v] ) 
 
 Cela mettra b et r dans l'opérateur divmod , retourner leurs valeurs que les variables u et v , puis les retourner comme l'ensemble de la solution [v , et le produit de q et v soustrait u ] . Le code complet de ce programme suit : 
 
 >>> def isolve (a, b , c): 
 
 ... q, r = divmod (a, b ) 
 
 ... si r == 0 : 
 
 ... retourner ( [ 0, c /b] ) 
 
 ... autre : 
 
 ... sol = isolve ( b , r, c) 
 
 ... u = sol [0] 
 
 ... v = sol [1] 
 
 ... retourner ( [v , u - q * v] ) 
 
 une attention particulière à la mise en retrait après le si et le else . Python ne sera pas exécuter ce code sans l' indentation correcte . 
 6 
 Appuyez sur la touche de retour une fois de plus pour ramener l'invite Python. Entrez la fonction isolve et trois valeurs pour z , y et c et appuyez sur «retour». Vous devriez voir ceci: 
 
 >>> isolve (5, 17 , 103) 
 
 [ 721, -206 ]