Large-scale least squares problems: tackling the fill challenge