A method of solving problems by systematically trying out different solutions until a successful one is found.