Scroll down to see how it works. If you'd rather solve the problem yourself, don't scroll. . . . . . How it works (this is a spoiler): ========================================= This one is relatively simple in theory, but can be slightly difficult to implement in Scratch, which only allows lists (rather than two-dimensional arrays). We've essentially taken the grid of numbers and turned it into a single Scratch list. The numbers are added in the order that you would read them if they were a book (top to bottom, left to right). We then just brute-force and check all of the possible ways you could make a line of four and get their product. When checking the columns, we start at a given position and then continually add 20 to which list item we're checking and getting the product (adding 20 will give is the list item which corresponds to the number below the current one on the grid). We do something similar for rows and diagonals. For rows we just add 1 to the current list item to get the one to the right. For rightward and leftward diagonals, we use 21 and 19, respectively. That's pretty much it. Then we just find which string of 4 had the largest multiple.
The @ProjectEuler account is created and maintained by @PullJosh. If you have questions, feel free to comment here or on my @PullJosh profile page for a much quicker response.