backward-substitution(-sparse) edited