Every day when Frank goes to work, he needs to enter a keycode with six different digits to get into the building. The front door has one keypad style and the back door has a different keypad style. One day, Frank realized that each digit in his keycode was horizontally, vertically or diagonally adjacent to the next digit on both keypads.

If the first digit of Frank's keycode is larger than the last, can you determine his keycode?

Front Back
+---+---+---+ +---+---+---+---+---+
| 1 | 2 | 3 | | 1 | 2 | 3 | 4 | 5 |
+---+---+---+ +---+---+---+---+---+
| 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 |
+---+---+---+ +---+---+---+---+---+
| 7 | 8 | 9 |
+---+---+---+
| 0 |
+---+

Example: 2,6 is a possible part of the keycode but 3,6 and 1,6 are not since those are adjacent on only one keypad.

Referring to both the keypads, the *common* adjacent digits are as shown in the following table:

[Edit]

Digit------Common Adjacent Digit(s)

0------------- 9

1------------- 2

2------------ 1, 3, 6

3------------ 2

4------------ 5, 8

5------------ 4, 9

6------------ 2

7----------- 8

8------------ 4, 7, 9

9------------- 0, 5, 8

[/Edit]

Referring to the above table, it follows that if we ignore the restriction about the first and the last digits, the six digit keycode is either 095487 or 784590.

Now, imposing the restriction that the first digit of Frank's keycode is larger than the last, it follows that the required keycode is 784590.

*Edited on ***September 7, 2007, 11:29 am**