nextMarkovTriples xs = (\[x,y] -> [[x, m, 3*x*m - y], [y, m, 3*y*m - x]]) $ delete m xs
where m = maximum xs
markovTriples xs = xs ++ markovTriples (concatMap nextMarkovTriples xs)
markovNumbers = 1 : 2 : map last (markovTriples [[1,2,5]])