A Framework for Differentiable Discovery Of Graph Algorithms