Improved vertical, horizontal, square converters

Oskar. 1 hour
Updated vals to use the new functions and added a check to the solve function to see if a solution exists. Also updated the specification for solve

Oskar