General geometric solver