Complete solver