code 34135;
    procedure LSQORTDECSOL(A, N, M, AUX, DIAG, B); value N, M;
    integer N, M; array A, AUX, DIAG, B;
    begin array AID[1:M];
        integer array CI[1:M];

        LSQORTDEC(A, N, M, AUX, AID, CI);
        if AUX[3] = M then 
        begin LSQDGLINV(A, M, AID, CI, DIAG);
            LSQSOL(A, N, M, AID, CI, B)
        end 
    end LSQORTDECSOL;
        eop