Défi
Le défi consiste à écrire un programme qui prend en entrée les coefficients de toute équation polynomiale à n degrés et renvoie les valeurs intégrales de x pour lesquelles l'équation est vraie. Les coefficients seront fournis en entrée dans l'ordre de puissance décroissante ou croissante. Vous pouvez supposer que tous les coefficients sont des entiers .
Entrée et sortie
L'entrée sera les coefficients de l'équation en ordre décroissant ou croissant de puissance. Le degré de l'équation, c'est-à-dire la puissance maximale de x, est toujours inférieur de 1 au nombre total d'éléments dans l'entrée.
Par exemple:
[1,2,3,4,5] -> represents x^4 + 2x^3 + 3x^2 + 4x + 5 = 0 (degree = 4, as there are 5 elements)
[4,0,0,3] -> represents 4x^3 + 3 = 0 (degree = 3, as there are 3+1 = 4 elements)
Votre sortie ne doit être que les valeurs intégrales distinctes de x qui satisfont l'équation donnée. Tous les coefficients d'entrée sont des entiers et le polynôme d'entrée ne sera pas un polynôme nul . S'il n'y a pas de solution pour l'équation donnée, alors la sortie n'est pas définie.
Si une équation a des racines répétées, affichez cette racine particulière une seule fois. Vous pouvez sortir les valeurs dans n'importe quel ordre. Supposons également que l'entrée contienne au moins 2 chiffres.
Exemples
[1,5,6] -> (-3,-2)
[10,-42,8] -> (4)
[1,-2,0] -> (0,2)
[1, 1, -39, -121, -10, 168] -> (-4, -3, -2, 1, 7)
[1, 0, -13, 0, 36] -> (-3, -2, 2, 3)
[1,-5] -> (5)
[1,2,3] -> -
Notez que l'équation dans le deuxième exemple a également la racine 0,2, mais elle n'est pas affichée car 0,2 n'est pas un entier.
Notation
C'est le code-golf , donc le code le plus court (en octets) gagne!