## Mathematical Recreation

### Soma Würfel

Für Stefanie zum Geburtstag

Dieser kurze Artikel beschreibt die von Piet Hein (∗16.12.1905 – †18.04.1996) erfundenen Soma Würfel.

Insbesondere sind 16 METAPOST Zeichnungen abgebildet.

### GUI program for calendar formulas

This paper describes my implementation of the *Julian* day function in a GUI program using open source software Qt.

- version 1.0, rev. 489, 2015-03-04 : documentation

first published: 2010-12-19 - source code, 2011-04-05: main.cpp rev 102, calgdialog.cpp rev 101, calgdialog.h rev 101, ui_calgdialog.h generated by uic 5.1.1 (on Windows platform)

first published: 2010-12-24

### On calendar formulas

This paper deals with calendar formulas for calculating the day of the week and the *Julian* day number as used in *Astronomy*. It describes my implementation of these formulas in a C program.

- revision 105, 2011-04-05 : cal.c source code

first published: 2010-06-07 - version 1.3, rev. 490, 2015-03-04 : documentation

first published: 2010-06-07

Dedicated to *Ralph*.

Version 1.3 contains detailed formulas for calculating the *Julian* day number function and explains some points of the C program `cal.c`

.

The difference to the older article Gauss’ calendar formula for the day of the week” is that it does not use the proleptic *Gregorian* calendar exclusively, but uses the *Julian* calendar up to October 4, 1582 and the *Gregorian* since October 15, 1582. It also tells you that the dates October 5-14, 1582, are *false*, as they have been omitted by the *Gregorian* calendar reform.

### Solving Rubik’s Cube

- version 1.0, rev. 513, 2015-03-04 :

first published: 2010-09-28

MSC Primary 20B25, Secondary 20B30, 20B35

Dedicated to *Sylvia* for her hospitality and in recognition of her MD promotion

Description of a strategy for solving *Rubik*‘s cube using methods and concepts of finite groups. This article describes my set of unscrambling operators together with the strategy that I follow during the pursuit. I put this into perspective to other strategies, which you may prefer, as they can be performed faster – but you have to learn much more – or they are more efficient in terms of number of turns. To go deeper you need to understand some mathematical concepts, like *groups*; some ideas are developed in the appendix.

### Solving Sudoku

- version 1.0, rev. 110, 2011-04-05 : sudoku.c source code, sudoku.h header file

first published: 2007-09-19 - version 1.0, rev. 514, 2015-03-04 : – programming notes and source file listing

first published: 2007-09-19

MSC Primary 05-04, Secondary 15-04

This paper contains the description of a program for solving * sudoku* puzzles. There are several programs available in the Internet, see Wayne Gould Puzzles, Simple Sudoku, A Su Doku Solver, Sudoku Essentials, Sudoku Solver by Andrew Stuart , Sudoku Solver by Logic.

Some look mysterious to me, without much of a justification. I got interested in understanding the process of resolution and started to write my own routines. The article Algorithmics of sudoku sketches one approach and has given me some early orientation.

The Programming Notes explain the structure and development of my C program `sudoku`

and give sufficient justification for understanding the algorithms. As I developed the program I made use of basic information structures, that Knuth describes in The Art of Computer Programming (volume 1: fundamental algorithms). I thank *Carmen* for firing up my inspiration in this task.

### Gauss’ calendar formula for the day of the week

This paper describes a simple formula of C.F. Gauss for calculating the day of the week from the calendar date and gives a conceptual proof. A formula for the Julian day number is derived. My implementation in C is included. For older implementations in Perl and REXX see below.

On Wed, May 06, 2009, I finally looked into Gauss Werke and found the formula in the Nachlass. This new revision has been updated accordingly.

- revision 1.13, 2010-12-03 : gauss.c source code

first published: 2009-03-26 - version 1.4, rev. 487, 2015-03-04 : (english)

first published: 2001-06-30

the revision 343 is a technical re-edition of the previous rev. 26, released 2010-05-07; there is no change in the text. - version 1.4, rev. 488, 2015-03-04 : (deutsch)

first published: 2005-02-26

Here are my older implementations of `gauss`

made available under the GPL license in Perl `gauss.pl`

and in REXX `gauss.rex`

.

Much more historic background can be found in Peter Meyer’s excellent exposition on The Julian and Gregorian Calendars. Other interesting articles there include the Julian Day Numbers and The Maya Calendar.