Thanks Tiger.
I managed to get an algoritm working with tiles that were only on either even or odd rows on a layer. ie if the bottom of a tile met the halfway point of another it introduces another complication. As when I place the tiles I need to make sure that I'm doing two things:
-place the tile in a location that is available
-place the tile in a location that doesn't block it's pair tile
I managed to get solutions working for certain layouts but it's really difficult to come up with an algorithm that works for all layouts.
Kyodai Mahjong somehow does it brilliantly. I think