This is a mental math technique to solve non-trivial integer multiplication I picked up from one of Arthur Benjamin's talks, and is widely used by other "mathemagicians" to solve large products.
It converts an n × n multiplication problem into a n² set of single digit multiplications, arithmetically identical to the "Lattice Method". However, instead of filling the lattice first and then summing each diagonal, this method calculates each sum as soon as possible - thus you only need to keep track of the bare minimum of working data and it becomes possible to do the problem entirely in your head.
The basic principle is to calculate each digit of the result from units upwards, by summing each corresponding pair of operand digits for that result digit (and adding the carry from the previous sum).
Probably best to ignore that sentence and just follow this example of 123 × 456:
_____ 123 ×456 _____
First step is to multiply the leftmost column digits, 3×6 for the first result digit of 8, carrying the 10 over to the next digit:
_____ 123 ×456 _____ 3×6=18 8 (Carry 1)
In the whiteboard images, I have used black to show the original problem, blue to show the method, green to show mental working and red to show the final result.
The second result digit requires you to take the carried 1, add the "diagonals" of the second operand digits 2×6 and 3×5:
_____ 123 ×456 _____ 1 + 2×6 + 3×5 = 28 88 (Carry 2)
Note that in each step, we incorporate one more column from the left into the calculation, and multiply each digit with the one diagonally or vertically "opposite" it.
As you can see this is where it starts getting potentially complex. To keep it as simple as possible, I add the numbers in the order shown above, resolving each multiplication immediately and adding it to what came before:
1 + 2×6 = 1 + 12 = 13 13 + 3×5 = 13 + 15 = 28
This way, I only need to keep track of two things at once - the sum in progress, and the immediate single digit multiplication.
Continuing the problem with the next digit, the carried 2, then multiply across three "lines", two diagonal and one vertical:
_____ 123 ×456 _____ 2 + 1×6 + 2×5 + 3×4 = 30 088 (Carry 3)
As we have reached the last column of the operands and are now using all the digits, we have no more columns to add in. Instead from this point on we leave out columns. For each following step, we leave out the rightmost column from our calculation.
Thus for the fourth result digit, we multiply the left two columns (diagonally), mirroring the second step:
_____ 123 ×456 _____ 3 + 1×5 + 2×4 = 16 6088 (Carry 1)
Finally, for the fifth result digit we multiply just the leftmost column, mirroring the first step:
_____ 123 ×456 _____ 1 + 1×4 = 5 56088
In summation (pun intended), to calculate 123×456 we have made 9 single-digit multiplications (the number of digits squared) and 8 simple additions. At all times the only working we had to keep track of is the ongoing sum for each digit (or the carry, when going to the next digit).