```
   \documentclass[tikz,border95=3mm]{article}
   \usepackage{tikz}

 \begin{document}

   \begin{tikzpicture}[case/.style={minimum width=2cm,minimum height=2cm,draw},line/.style={blue!10!gray,line width=4,line cap=round,line join=round}]    

\node[case] (a) at (0,0){} ;
\node[case] (b) at (2,0){} ;
\node[case] (c) at (4,0){} ;

\draw[line] (a.south west) -- (a.north west) -- (a.north east) -- (a.south west)-- ++(-1,-1);
\draw[line] (b.south west) -- (b.north west) -- (b.north east) -- (b.south west)-- ++(-1,-1);
\draw[line] (c.south west) -- (c.north west) -- (c.north east) -- (c.south west)-- ++(-1,-1);
\draw[line] (a.south west) -- (c.south east) -- (c.north east);

\node[above=0.25 cm] at (a.north) {\huge 2};
\node[above=0.25 cm] at (b.north) {\huge 1};
\node[above=0.25 cm] at (c.north) {\huge 8};
\node[right=0.25 cm] at (c.east){\huge 3}; 
\node[text=red,shift={(0.5,0.5)}] at (c.north east) {\huge $\times$};
\node[below=0.25cm] at (c.north) {\hugh 2};
\node[above=0.25cm] at (c.south) {\hugh 4};
\node[below=0.25cm] at (b.north) {\hugh 0};
\node[above=0.25cm] at (b.south) {\hugh 3};
\node[below=0.25cm] at (a.north) {\hugh 0};
\node[above=0.25cm] at (a.south) {\hugh 6};
\node[below=0.25cm] at (c.south) {\hugh 4};
\node[below=0.25cm] at (b.south) {\hugh 5};
\node[below=0.25cm] at (a.south) {\hugh 6};
\node[left=0.25cm] at (a.west) {\hugh 0};
 \end{tikzpicture}\\

Displaying the totals from left to right we get:\\
      =$0654$\\
or if we forgget the leading zero we get\\
     Total=654

 \end{document}

```

I have used \usepackage{tikz,xparse,xstring,fp} to create a long multiplication table in the past I was wondering if I could use a similar system to automatically make the results from the above code. Thanks