implementing an automatic solve-algorythm is a tough job.
I would be really impressed if you could realise that.

(a solver is needed anyhow for a hint system)