These two commands turn off the spell checker, 
otherwise we get spurious messages like...

Off[General::"spell"];
Off[General::"spell1"];

<< Graphics`MultipleListPlot`

TT10 emittance exchange

Clear[x, xlist, L, f, CELL];

MF = {{1, 0, 0, 0}, {-1/f, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 1/f, 
          1}}

MatrixForm[%]

MD = {{1, 0, 0, 0}, {1/f, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, -1/f, 
          1}}

MatrixForm[%]

ML = {{1, L, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, L}, {0, 0, 0, 
          1}}

MatrixForm[%]

M2L = {{1, 2*L, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 2*L}, {0, 0, 0, 
          1}}

MatrixForm[%]

MS = {{1, 0, 0, 0}, {0, 1, 1/fS, 0}, {0, 0, 1, 0}, {1/fS, 0, 0, 
          1}}

MatrixForm[%]

CELL = 
        MS . ML . MF . M2L . MD . ML . MS . ML . MF . M2L . MD . ML . 
          MS;

CELL = Simplify[CELL];

MatrixForm[%]

CELL[[1]][[2]]

sol = 
      Solve[CELL[[1, 1]] == 0 && CELL[[1, 2]] == 0 && 
          CELL[[2, 1]] == 0 && CELL[[2, 2]] == 0 && 
          CELL[[3, 3]] == 0 && CELL[[3, 4]] == 0 && 
          CELL[[4, 3]] == 0 && CELL[[4, 4]] == 0, {f, 
          fS}]