```Hi,

2007/3/5, Yannick Grams <yannick_grams / hotmail.com>:

> I have a mathematic problem I need to solve, and it involves finding the
> values of three consecutive numbers, x, y and z. I need to be able to find
> every instance of these from negative one million (-1,000,000) up to one
> million (1,000,000). They must follow the following equations:
>
> x + y + z = 5
> x + y - z = 7
> (x - y)(x - y)(x - y)  + (y - z)(y - z)(y - z) = (x - z)(x - z)(x - z)

You can use "algebra" (http://raa.ruby-lang.org/project/algebra/)

require "algebra"
R = MPolynomial(Rational)
x, y, z = R.vars("xyz")
f0 = x + y + z - 5
f1 = x + y - z - 7
f2 = (x - y)*(x - y)*(x - y) + (y - z)*(y - z)*(y - z) -
(x - z)*(x - z)*(x - z)
gs = Groebner.basis([f0, f1, f2])
gs.each do |f|
p f.factorize
end

This shows:
x + y - 6
(y - 3)(y - 7)(y + 1)
z + 1

These mean "z = -1, y = 3, 7, -1, x = -y + 6", And

p f2.factorize #=> (-3)(x - z)(x - y)(y - z)

This means you can solve this by hand. :-)

Regards,
Shin-ichiro HARA

```