Algorithmic Approach To Problem Solving