### 1.27.3 Δημιουργία πολυωνύμου από την αποτίμησή του :
genpoly

genpoly παίρνει τρία ορίσματα : ένα πολυώνυμο P με n−1 μεταβλητές, έναν ακέραιο b και το όνομα μιας μεταβλητής var.
genpoly επιστρέφει το πολυώνυμο Q με n μεταβλητές (τις n−1 μεταβλητές του P και την μεταβλητή var που δίνεται ως τρίτο όρισμα), τέτοιο ώστε :

- subst(Q,var=b)==P
- οι συντελεστές του Q ανήκουν στο διάστημα ]−b/2 , b/2]

Με άλλα λόγια,το P γράφεται ως προς την βάση b αλλά με την σύμβαση ότι το Ευκλείδειο υπόλοιπο είναι μέσα στο διάστημα ]−b/2 , b/2] (αυτή η σύμβαση είναι επίσης γνωστή σαν αναπαράσταση s-mod).
Είσοδος :

genpoly(61,6,x)

Έξοδος :

2*x`^`2-2*x+1

Πράγματι το 61 διαιρεμένο με το 6 δίνει πηλίκο 10, και υπόλοιπο 1, μετά το 10 διαιρεμένο με το 6 δίνει πηλίκο 2 και υπόλοιπο -2 (αντί για το συνηθισμένο πηλίκο 1 και υπόλοιπο 4 που είναι εκτός ορίων),

61=2*62−2*6+1

Είσοδος :

genpoly(5,6,x)

Έξοδος :

x-1

Πράγματι : 5=6−1
Είσοδος :

genpoly(7,6,x)

Έξοδος :

x+1

Πράγματι : 7=6+1
Είσοδος :

genpoly(7*y+5,6,x)

Έξοδος :

x*y+x+y-1

Πράγματι : x*y+x+y−1=y(x+1)+(x−1)
Είσοδος :

genpoly(7*y+5*z,6,x)

Έξοδος :

x*y+x*z+y-z

Πράγματι : x*y+x*z+y−z=y*(x+1)+z*(x−1)