Answer :

The way I did it was this. I found out how long it took for it to gain one hour. So I divided 60 by 3 and got 20. so for  every 20 hours the clock will gain 1 hour.  So it will be the   correct time again after it gains 24 hours.  So you take  24 x  20 and you get 480 hours later. Divide that by 24 to get the number of days and you get 20 days later. So your answer is either 20 days later or on a friday
AL2006

If it keeps creeping ahead, then it won't show the correct time again until it has gained 12 hours.

How long will it take to gain 12 hours ?

(12 hours) x (60 minutes/hour) = 720 minutes

How long will it take to gain 720 minutes ?  Well, it gains 3 minutes during every 'real' hour.  So it will take

     (720 gained minutes) divided by (3 gained minutes / real hour) =

                 240 real hours  =  exactly 10 whole days

By the way ... there's no reason it has to be an analogue clock.  Some
digital clocks take their beat from the 60 Hz electrical outlet that they're
plugged into, so they're always just as correct as the electric company is. 
But a lot of digital clocks don't, and those can gain or lose time just as
easily as a clock with hands can.  This problem works equally well with
any clock ... digital or analogue ... that doesn't show 'AM' or 'PM' on it. 

If the clock does show 'AM' and 'PM' and it gains 3 minutes in every real
hour, then the hands or numbers are correct after 10 days, but it's showing
the wrong half of the day.  In order for THAT clock to read the correct time,
it would take 20 days, to get the numbers right and also get the AM or PM
right.