Input data: , .
Result: .
(1) Check that matrix satisfies (5).
(2) Check that matrices are singular, and check that the block matrix
     is regular.
(3) Determine a number so that the matrix pencil is regular.
(4) Determine matrices and defined by (10).
(5) Determine matrices and defined by (11).
(6) Consider the following cases:
(i) Case  1. Condition (13) holds, that is, matrices and have a common eigenvector associated
   with eigenvalues and . In this case continue with step (7).
(ii) Case  2. Condition (13) does not hold. In this case the algorithm stops because it is not possible to
   find the solution of (1)–(4) for the given data.
(7) Determine , , and vector verifying
    such that:
(i) Conditions (53) hold, that is:
1.1: is an invariant subspace respect matrix .
1.2: , .
    (ii) Conditions (14) hold, that is:
1.3: , .
    (iii) The vectorial function satisfies (42), that is:
1.4: .
1.5: .
1.6: .
If these conditions are not satisfied, return to step (6) of Algorithm 1 discarding the values
taken for and .
(8) Determine the positive solutions of (16) and determine defined by (27).
(9) Determine degree of minimal polynomial of matrix .
(10) Building block matrix defined by (31).
(11) Determine so that rank .
(12) Include the eigenvalue if .
(13) Determine given by (44).
(14) Determine vectors defined by (47).
(15) Determine functions defined by (34).
(16) Determine the series solution of problem (1)–(4) defined by (49).
Algorithm 1: Solution of the homogeneous problem with homogeneous conditions (1)–(4).