A fast and memory efficient sparse solver with applications to finite element matrices