Illustration of numerunique's know-how
20/04/2025
Sudoku again!

The web is already overflowing with sudoku solutions or online sudoku games, each one more cluttered with ads than the next. So why add another?
No, here the topic of sudoku is merely a pretext to illustrate the philosophy and know-how of numerunique in the specific field of designing and developing custom software.
The essence lies in a few principles:
- a solution as universal as possible,
- a clean interface with powerful processing,
- priority given to the user.
Versatility
Numerunique’s developments rely on a universal interface (the web browser), techniques (HTML, CSS, JavaScript, Apache, PHP, C…), and tools (internet server). This works on a mobile phone or a computer without restrictions on the model or its environment (system, browser…). The techniques used are well-documented. The approach is cross-cutting. HTML provides control over the structure of information, well-presented to the user through CSS. Processing is ideally distributed between the client side (JavaScript) and the server (Apache, PHP, C). Techniques are used judiciously: PHP for its simplicity and C for its performance. Though not relevant to this example, when it’s necessary to manage preserved information, numerunique uses SQL for the database.
Better ugly and functional than beautiful and buggy
The ideal is, of course, beautiful and functional! But the priority is functionality. In practice, one quickly tires of a spectacular presentation, which can even hinder long-term use. On the other hand, any malfunction is a dealbreaker. Another advantage of this approach is economic. Focusing on presentation can require considerable development time, at the expense of efficient functionality.
Technology should remain a tool in service of the user
This philosophy is hidden in the details.
In this example, the list of choices offered to the user is limited to possible options, dynamically adapted to the context and the current situation.

Similarly, we strive to provide relevant information with real added value. In this example, the processing anticipates the consequences of the user’s (freely made) choice by informing her if there will be no solutions, if applicable.


The responsiveness of the processing is essential. Since anticipating the next steps requires complex processing, it is handled by a carefully crafted program designed for performance and written in C for lightning-fast execution.
This isn’t visible. As with most of numerunique’s services: the art conceals the performance.

Notice the numbers in italics here. They are automatically suggested when only one implicit choice remains for a cell. Why ask the user to validate a decision that is obvious?
The goal is to assist the user in her task. In this case, making it easy to solve any sudoku, even the most complex!
Try it here.