Update solver function