I read a paper a while back that does almost the inverse of what you're asking (given Z, how could I get a Y and an X). I tried the code and it almost worked, but gave up and had to move on unfortunately. Still, you might find it useful.
No comments yet.