_MEM (partial) version
In order for the program to successfully create a completed grid, the processor is working flat-out doing comparisons of words (fitting tried words to existing ones and other string techniques). Whilst the grid in the program is an array of integers (as opposed to string characters), the previous versions did not avoid some string processing. Significant times are required to find a completed grid - see Reply #34.
_MEM processing is significantly faster than that of standard variable processing (and numeric processing is faster than that of string processing). So I have created a version which has replaced string processing wherever possible and used _MEM object processing in places. The program version here has reduced the times required, but not by a large factor. The average times required to complete a grid are:
British English 4s
US English 4s
German 8s
Spanish 3s
French 1s
Italian 8s
Dutch 2s
The program is given here for completion, and you would not find a significant difference if you have already used that given in the start of this thread. You would need to copy this .bas file into the existing folder created from the first part of this thread. This program uses $CHECKING:OFF, and whilst it has been fully evaluated without fail, the use of this condition comes with some caution. This version does not display the program trying to fill the created grids, and as such is rather less interesting because of that.
The desire would be to have a program which takes virtually zero time to create each completed grid, and perhaps one which works with entirely _MEM objects would do this. This may be a future project.