1. A computer implemented method in a data processing system for retrieving solutions that solve a problem experienced by a user, the computer implemented method comprising: responsive to receiving a query from the user describing the problem, sending by the data processing system relevant candidate solutions to the problem to the user; responsive to receiving a selection of one relevant candidate solution from the relevant candidate solutions, analyzing by a processor communicatively coupled to the data processing system instructions steps within the one relevant candidate solution selected by the user; calculating by the processor an instruction step similarity between the instruction steps within the one relevant candidate solution selected and other instructions steps within other solutions stored in a storage device; and sending to the user by the data processing system similar solutions containing similar instruction steps to the instruction steps contained within the one relevant candidate solution selected based on the calculated instruction step similarity.