Soma e produto

Escreva uma função que receba dois números de ponto flutuante s e p e retorne dois números de ponto flutuante [x, y], em que x + y = s e x * y = p. Arredonde x e y para três casas decimais.

Se houver várias soluções, retorne a solução com o menor x (ou o menor y, se os valores de x forem iguais).

Soluções imaginárias/complexas não são permitidas. Se não existirem soluções reais, retorne nil.

Exemplos

sum_and_product(2, -15) ➞ [-3.0, 5.0]

sum_and_product(144, 144) ➞ [1.007, 142.993]

sum_and_product(-42.7, 144.5) ➞ [-38.994, -3.706]

sum_and_product(10, 30) ➞ nil

Observações

Para resolver este problema, considere montar um sistema de duas equações e resolvê-lo para x e y.