A very simple combination lock picker that cracks locks within less than 45 minutes (just a little over 4 min per "first number") and most locks under 20 min. The lock exploits two schemes to reduce cracking time.
1) The first number is only dialed once. The second number is nudged sequentially backwards and saves having to both reset the lock and dial in the first number.
2) Combinations locks use generous "zones" to account for human and manufacturing deficiencies. This means out of the 60 numbers, there are only 10 numbers which reduces much of the entropy.
Because I have a small number of locks, I didnt implement an automatic shackle test. It can be added easily in the check_lock() function and a RC type servo bolted to the lock.