We describe an algorithm for achieving a bordered block triangular form, including the case where the diagonal blocks are themselves in this form. The original algorithm was created by Hellerman and Rarick (1971, 1972) for solving linear programming problems. We include an extension of this algorithm for overcoming the problem of structural singularity in intermediate steps introduced by Erisman, Grimes, Lewis and Poole (1985). Two areas requiring further work include: dealing with safeguards against numerical instability when factorizing the diagonal blocks of the form, and dealing with parallelization, cache management, and memory management for large problems. Only after doing these things would it be appropriate to explore what niche, if any, these algorithms might address when implemented in a modern computer architecture for the solution of very large problems.