# Le Monde puzzle 847 in Julia

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

**Wiekvoet**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

This week I wanted to play around with Julia and exporting the results. I found http://xianblog.wordpress.com/2013/12/29/le-monde-puzzle-847/ to be just the right size to play around with.

### Code

A function to check if a triplet has the desired propertyIn [1]:

function lemonde847(xx) a=[xx[1],2] b=[xx[2],8] c=[xx[3],4] sum(kron(c,kron(a,b))) endOut[1]:

lemonde847 (generic function with 1 method)Just a check – the function does indeed result in 1768 for the triplet 6 5 13.

In [2]:

lemonde847([6,5,13])Out[2]:

1768Check all combinations of numbers 1 to 60 excluding 2, 4 and 8. These need to be permuted later on. 60 may be a bit much, but how to calculate a bound? After all, imagine a set 1 3 60, that is only 1428. On the other hand, a combination with 59 and 60 should be too large. Hence we make a filter to exclude some. The rows where all three test numbers multiplied are higher than 1768. The remaining combinations are permuted and tested.

In [3]:

lemonde847([1,60,3])Out[3]:

1428In [4]:

totest = collect(combinations( symdiff(1:50, [2,4,8]),3))Out[4]:

16215-element Array{Array{Int64,1},1}: [1,3,5] [1,3,6] [1,3,7] [1,3,9] [1,3,10] [1,3,11] [1,3,12] [1,3,13] [1,3,14] [1,3,15] [1,3,16] [1,3,17] [1,3,18] ⋮ [45,48,50] [45,49,50] [46,47,48] [46,47,49] [46,47,50] [46,48,49] [46,48,50] [46,49,50] [47,48,49] [47,48,50] [47,49,50] [48,49,50]In [5]:

for i in 1:size(totest)[1] if prod(totest[i,])<1768 test2 = collect(permutations(totest[i,])) for j in 1:6 if lemonde847(test2[j,])==1768 print(test2[j,]') end end end end 6 5 13Seems I found the answer; 6 5 13. The only thing left is to export the results. A bit of googling showed http://ipython.org/ipython-doc/stable/interactive/nbconvert.html.

### Final Notes

#### Conversion

In the end I converted the script via:ipython nbconvert lemonde847.ipynb

The resulting file was opened in libreoffice and copied pasted into blogger. This gave a bit better results than conversion using

ipython nbconvert --template basic lemonde847.ipynb

and a copy paste of the .html directly in blogger.

Some post editing was done after examination of the preview of the post, but that is fairly normal for me.

#### Time usage

The calculation time was minimal. Most of the time was used in understanding Julia syntax, debugging, writing code, writing blog text, installation of pandoc. A lot of these things are one-off, but still, this last sentence took more time than the computation time.To

**leave a comment**for the author, please follow the link and comment on their blog:**Wiekvoet**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.