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

### 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)