A uni friend of mine gave me that 12 weight puzzle ages ago, it took me hours to solve it (interestingly he was a 7 day creationist and took weeks over it and had forgot it so could not verify my answer) After scrolling through the thread I didn't see a solution so here is an answer I have just churned out in 10 minutes from a mix of memory and logic, it is about time for me to sleep so I'm half expecting an obvious flaw.
Start weighing ABCD v EFGH, call this (1)
if they are the same it must be one of IJKL
Weigh IJ v KC (2a)
if (2a) balances it must be L, weigh L against any other to find out if it is lighter or heavier (3a)
If (2a) doesn't balance it is one of IJK, weigh I v J (3b)
If (3b) is now balanced it was K, refer to the side of unbalance in the previous weighing (2a) for lighter or heavier. If the scales are tilted to the same side it is I, so if I is up it is lighter if I is down it is heavier. If the scales tilt the opposite direction it is J and again look at if it is high or low to work out lighter/heavier.
If (1) is unbalanced the different weight is one of ABCDEFGH, weigh ABE v CDF (2b)
If (2b) is balanced it is either G or H, now try G v L (3c) if it is balanced H is odd and the results of (1) will tell you lighter or heavier. If (3c) is unbalanced G is odd and lighter or heavier is trivial.
If (2b) is tilted to the same side as (1) the odd ball is one of ABF, weigh A v B (3d)
If it balances see a previous weighing to find out if F is lighter or heavier. If the balance remains tilted the same way as (2b) A is odd or if the balance changes tilt direction B is different in either case lighter/heavier is trivial.
If (2b) tilts to the opposite side to (1) one of CDE is odd, weigh C v D (3e)
If (3e) balances check previous weightings to see if E is lighter or heavier, if it stays tilted the same way as (2b) D is different, if the tilt direction swaps C is different, in either case it is again a simple case of direct observation to work out lighter/heavier.
Goodnight all, tomorrow I will hopefully draw a tree diagram to clarify that and edit it into the post, unless someone tears this appart, in which case one of you guys will steal my hard work and post a correct answer before I get a chance to correct myself.
Start weighing ABCD v EFGH, call this (1)
if they are the same it must be one of IJKL
Weigh IJ v KC (2a)
if (2a) balances it must be L, weigh L against any other to find out if it is lighter or heavier (3a)
If (2a) doesn't balance it is one of IJK, weigh I v J (3b)
If (3b) is now balanced it was K, refer to the side of unbalance in the previous weighing (2a) for lighter or heavier. If the scales are tilted to the same side it is I, so if I is up it is lighter if I is down it is heavier. If the scales tilt the opposite direction it is J and again look at if it is high or low to work out lighter/heavier.
If (1) is unbalanced the different weight is one of ABCDEFGH, weigh ABE v CDF (2b)
If (2b) is balanced it is either G or H, now try G v L (3c) if it is balanced H is odd and the results of (1) will tell you lighter or heavier. If (3c) is unbalanced G is odd and lighter or heavier is trivial.
If (2b) is tilted to the same side as (1) the odd ball is one of ABF, weigh A v B (3d)
If it balances see a previous weighing to find out if F is lighter or heavier. If the balance remains tilted the same way as (2b) A is odd or if the balance changes tilt direction B is different in either case lighter/heavier is trivial.
If (2b) tilts to the opposite side to (1) one of CDE is odd, weigh C v D (3e)
If (3e) balances check previous weightings to see if E is lighter or heavier, if it stays tilted the same way as (2b) D is different, if the tilt direction swaps C is different, in either case it is again a simple case of direct observation to work out lighter/heavier.
Goodnight all, tomorrow I will hopefully draw a tree diagram to clarify that and edit it into the post, unless someone tears this appart, in which case one of you guys will steal my hard work and post a correct answer before I get a chance to correct myself.