<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "https://jats.nlm.nih.gov/publishing/1.3/JATS-journalpublishing1-3.dtd"><article xml:lang="en" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" dtd-version="1.3" article-type="research-article"><front><journal-meta><journal-id journal-id-type="issn">2460-0245</journal-id><journal-title-group><journal-title>Journal of the Indonesian Mathematical Society</journal-title><abbrev-journal-title>JIMS</abbrev-journal-title></journal-title-group><issn pub-type="epub">2460-0245</issn><issn pub-type="ppub">2086-8952</issn><publisher><publisher-name>IndoMS</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.22342/jims.v32i2.2229</article-id><article-categories></article-categories><title-group><article-title>A SAT-Based Approach for Solving Suguru Puzzles: Theory and Experiment</article-title></title-group><contrib-group><contrib contrib-type="author"><name><surname>Butrahandisya</surname><given-names>Butrahandisya</given-names></name><address><country country="ID">Indonesia</country><email>butrahandisya@gmail.com</email></address><xref ref-type="aff" rid="AFF-1"></xref></contrib><contrib contrib-type="author"><name><surname>Arzaki</surname><given-names>Muhammad</given-names></name><address><country country="ID">Indonesia</country><email>arzaki@telkomuniversity.ac.id</email></address><xref ref-type="aff" rid="AFF-1"></xref></contrib></contrib-group><contrib-group><contrib contrib-type="editor"><name><surname>Wijayanti</surname><given-names>Indah Emilia</given-names></name><address><country country="ID">Indonesia</country><email>ind_wijayanti@ugm.ac.id</email></address><xref ref-type="aff" rid="EDITOR-AFF-1"></xref></contrib></contrib-group><aff id="AFF-1"><institution content-type="dept">Computing Laboratory, School of Computing</institution><institution-wrap><institution>Telkom University</institution><institution-id institution-id-type="ror">https://ror.org/0004wsx81</institution-id></institution-wrap><country country="ID">Indonesia</country></aff><aff id="EDITOR-AFF-1"><institution-wrap><institution>Universitas Gadjah Mada</institution><institution-id institution-id-type="ror">https://ror.org/03ke6d638</institution-id></institution-wrap><country country="ID">Indonesia</country></aff><pub-date date-type="pub" iso-8601-date="2026-08-09" publication-format="electronic"><day>09</day><month>08</month><year>2026</year></pub-date><pub-date date-type="collection" iso-8601-date="2026-04-23" publication-format="electronic"><day>23</day><month>04</month><year>2026</year></pub-date><volume>32</volume><issue>2</issue><issue-title>JUNE</issue-title><fpage>1</fpage><lpage>27</lpage><history><date date-type="received" iso-8601-date="2025-02-13"><day>13</day><month>02</month><year>2025</year></date><date date-type="accepted" iso-8601-date="2025-11-25"><day>25</day><month>11</month><year>2025</year></date></history><permissions><copyright-statement>Copyright (c) 2026 Journal of the Indonesian Mathematical Society</copyright-statement><copyright-year>2026</copyright-year><copyright-holder>Journal of the Indonesian Mathematical Society</copyright-holder><license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by-nc-nd/4.0/"><ali:license_ref xmlns:ali="http://www.niso.org/schemas/ali/1.0/">https://creativecommons.org/licenses/by-nc-nd/4.0/</ali:license_ref><license-p>This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.</license-p></license></permissions><self-uri xlink:href="https://jims-a.org/index.php/jimsa/article/view/1939" xlink:title="1939"></self-uri><abstract><p>We discuss a SAT-based approach for solving Suguru puzzles-oneplayer puzzles similar to Sudoku that were confirmed NP-complete in 2022. We first discuss the formal rules of the puzzles and provide a rigorous technique to translate such rules into propositional formulas in conjunctive normal form (CNF).</p><p><inline-formula><tex-math id="math-1"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n × n \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-2"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 6 \leq n \leq 1 5 \end{document} ]]></tex-math></inline-formula>. Finally, we derive some empirical results from these experiments and argue that, in terms of running time, our SAT-based approach outperforms the previously proposed backtracking technique in solving larger puzzles.</p></abstract><kwd-group><kwd>SAT encoding</kwd><kwd>SAT problems</kwd><kwd>SAT solver</kwd><kwd>Suguru puzzles</kwd></kwd-group><custom-meta-group><custom-meta><meta-name>File created by JATS Editor</meta-name><meta-value>https://jatseditor.com</meta-value></custom-meta><custom-meta><meta-name>issue-created-year</meta-name><meta-value>2026</meta-value></custom-meta></custom-meta-group></article-meta></front><body><p>The resulting formulas form what is called a SAT encoding, and we prove that the number of clauses and variables in our encoding is polynomially proportional to the puzzle's dimension. This encoding allows one to reduce Suguru puzzles to SAT problems, and we use this encoding to construct a declarative SAT-based program without any search algorithm in C++ for solving general Suguru puzzles. We perform experiments involving 230 test cases for Suguru instances of size </p><sec id="sec-1"><title>1. Introduction</title><p>Single-player games that involve filling rectangular grids with numbers or symbols according to specific rules can be both challenging and captivating. Some of these games are inherently challenging and have a similar interesting property: finding solutions to these puzzles is typically “hard”, but once the solutions are found, checking whether these solutions satisfy the puzzles’ rules is relatively “easy”<xref ref-type="fn" rid="fn-1"><sup>1</sup></xref>.A famous example of these puzzles Sis Sudoku. Another example is Suguru, a oneplayer game invented by Naoki Inaba, a prominent Japanese logic puzzle designer.</p><p>Suguru first emerged in 2001 <xref ref-type="bibr" rid="BIBR-1">[1]</xref> and gained popularity in the theoretical computer science community in 2022 after Robert et al. proved its NP-completeness <xref ref-type="bibr" rid="BIBR-2">[2]</xref>. The puzzles are played in rectangular grids; a grid is partitioned into one or more <italic>regions</italic>. Each region contains one or more orthogonally connected cells. Initially, some cells in the grid might be empty or filled with positive integers. These pre-filled cells are called the <italic>hint cells</italic> or simply <italic>hints</italic>. The objective of this puzzle is similar to the famous Sudoku—each empty cell must be filled with exactly one positive integer satisfying particular constraints. Suguru puzzles basically only have two rules: (1) for every region, each cell in that region must be filled with a unique integer between one and the number of cells in such a region, and (2) any two adjacent cells in the grid, either orthogonally or diagonally, must be filled with distinct integers.</p><fig id="figure-1"><label>Figure 1.</label><caption><p>An instance of a Suguru puzzle <xref ref-type="fig" rid="figure-1">(Fig. 1a)</xref> and its solution <xref ref-type="fig" rid="figure-1">(Fig. 1b)</xref>.</p></caption><long-desc>The bold numbers in the cells indicate the hints of the puzzle (the pre-filled cells). Notice that the solution in <xref ref-type="fig" rid="figure-1">Fig. 1b</xref> satisfies all rules of Suguru puzzles.</long-desc><graphic xlink:href="https://www.jims-a.org/index.php/jimsa/article/download/1939/540/13855" mime-subtype="png" mimetype="image"><alt-text>The bold numbers in the cells indicate the hints of the puzzle (the pre-filled cells). Notice that the solution in Fig. 1b satisfies all rules of Suguru puzzles.</alt-text></graphic></fig><p><xref ref-type="fig" rid="figure-1">Fig. 1</xref> illustrates an example of a Suguru puzzle instance and its solution. Here, we consider a Suguru puzzle of size <inline-formula><tex-math id="math-3"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 6 × 6 \end{document} ]]></tex-math></inline-formula>. The instance in <xref ref-type="fig" rid="figure-1">Fig. 1a</xref> consists of nine regions: there are six regions of size 5 and one region each of size 1, 2, and 3. The instance has seven hint cells. Notice that the solution to this instance in <xref ref-type="fig" rid="figure-1">Fig. 1b</xref> preserves these hint cells.</p><p>The computational aspects of various one-player puzzles have attracted interest in the theoretical computer science community, especially in their connection to NP-complete problems. In the last six years, many single-player logic puzzles were proven NP-complete, such as Calculation Solitaire <xref ref-type="bibr" rid="BIBR-3">[3]</xref>, Choco Banana <xref ref-type="bibr" rid="BIBR-4">[4]</xref>, Juosan <xref ref-type="bibr" rid="BIBR-5">[5]</xref>, Path Puzzles <xref ref-type="bibr" rid="BIBR-6">[6]</xref>, Suguru <xref ref-type="bibr" rid="BIBR-2">[2]</xref>, Tatamibari <xref ref-type="bibr" rid="BIBR-7">[7]</xref>, Tilepaint <xref ref-type="bibr" rid="BIBR-8">[8]</xref>, Yin-Yang <xref ref-type="bibr" rid="BIBR-9">[9]</xref>, and ZHED <xref ref-type="bibr" rid="BIBR-10">[10]</xref>. Various techniques have been proposed to solve some of these NP-complete puzzles. Most of them consider imperative approaches, such as the exhaustive search for solving Tatamibari <xref ref-type="bibr" rid="BIBR-11">[11]</xref>, the prune-and-search technique for solving Yin-Yang <xref ref-type="bibr" rid="BIBR-12">[12]</xref>, as well as various backtracking approaches for solving Juosan <xref ref-type="bibr" rid="BIBR-13">[13]</xref>, Path Puzzles <xref ref-type="bibr" rid="BIBR-14">[14]</xref>, Suguru <xref ref-type="bibr" rid="BIBR-15">[15]</xref>, and Tilepaint <xref ref-type="bibr" rid="BIBR-16">[16]</xref>. Typically, these algorithms involve sophisticated search-based criteria in their computational steps. One of them, namely the backtracking approach for solving Suguru puzzles explained in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>, exhibits a factorial upper bound for its running time complexity—which is not optimal for an NP-complete problem.</p><p>The Boolean satisfiability problem (SAT problem) is a fundamental problem in theoretical computer science and mathematical logic. It is the first established NP-complete problem <xref ref-type="bibr" rid="BIBR-17">[17]</xref>, <xref ref-type="bibr" rid="BIBR-18">[18]</xref>, <xref ref-type="bibr" rid="BIBR-19">[19]</xref>, <xref ref-type="bibr" rid="BIBR-20">[20]</xref>. Theoretically, all NP-complete problems can be transformed into SAT problem instances. This property enables various NPcomplete problems to be solved by SAT solvers—algorithms specifically designed to determine the satisfiability of propositional formulas. Due to its versatility, SAT solvers have been used to assist various problems in computer science, such as automated planning and scheduling <xref ref-type="bibr" rid="BIBR-21">[21]</xref>, automated theorem proving <xref ref-type="bibr" rid="BIBR-22">[22]</xref>, formal software or hardware verification <xref ref-type="bibr" rid="BIBR-23">[23]</xref>, <xref ref-type="bibr" rid="BIBR-24">[24]</xref>, solving complex optimization problem <xref ref-type="bibr" rid="BIBR-25">[25]</xref>, and various aspects of artificial intelligence <xref ref-type="bibr" rid="BIBR-26">[26]</xref>.</p><p>Numerous studies have investigated SAT-based approaches for solving singleplayer logic puzzles, such as binary puzzles <xref ref-type="bibr" rid="BIBR-27">[27]</xref>, edge matching puzzles <xref ref-type="bibr" rid="BIBR-28">[28]</xref>, fill-a-pix <xref ref-type="bibr" rid="BIBR-29">[29]</xref>, Juosan <xref ref-type="bibr" rid="BIBR-30">[30]</xref>, Path Puzzles <xref ref-type="bibr" rid="BIBR-31">[31]</xref>, Skyscraper <xref ref-type="bibr" rid="BIBR-32">[32]</xref>, Sudoku <xref ref-type="bibr" rid="BIBR-33">[33]</xref>, <xref ref-type="bibr" rid="BIBR-34">[34]</xref>, <xref ref-type="bibr" rid="BIBR-35">[35]</xref>, and other various single player puzzles <xref ref-type="bibr" rid="BIBR-36">[36]</xref>. A recent extensive investigation by Bright et al. demonstrates the efectiveness of the SAT-based approach in solving puzzles using the declarative approach <xref ref-type="bibr" rid="BIBR-36">[36]</xref>. In this approach, one focuses on describing the problems and their constraints as sets of Boolean formulas, rather than providing a sequence of imperative commands. Some empirical performance comparisons of the SAT-based and imperative search-based approaches for solving logic puzzles were recently discussed in <xref ref-type="bibr" rid="BIBR-30">[30]</xref>, <xref ref-type="bibr" rid="BIBR-31">[31]</xref>. Ammar et al. showed that Juosan puzzles with up to 1350 cells can be solved in less than one second on a standard personal computer, significantly outperforming the backtracking approach, which required four days or more to solve the same puzzles on the same machine <xref ref-type="bibr" rid="BIBR-30">[30]</xref>. Sakti et al. showed that the SAT-based approach outperforms the backtracking algorithm for solving Path Puzzles if the number of cells is suficiently large <xref ref-type="bibr" rid="BIBR-31">[31]</xref>. Nevertheless, one should note that, in earlier studies, the imperative paradigms still outperformed the SAT-based ones for small-sized puzzles.</p><p>This paper comprehensively discusses the SAT-based approach for solving Suguru puzzles. The analysis of this approach is discussed rigorously from both theoretical and experimental perspectives. The rest of the section in this paper is divided into four main parts. Section <xref ref-type="sec" rid="d7a0da11-d080-efa7-761b-85fed68c1c65">2</xref> discusses the preliminaries and related works, including an outline of the earlier algorithmic investigation of Suguru puzzles and some notational conventions. Section <xref ref-type="sec" rid="2032b174-b0d2-3e99-d892-6a572d9c95ad">3</xref> comprehensively explains Suguru puzzles as SAT problem instances, which includes the SAT encoding for Suguru puzzles and its analysis related to the number of variables and clauses of the resulting propositional formulas. Section <xref ref-type="sec" rid="26b33501-ff6f-4584-f5c6-acd8dfc84085">4</xref> presents the experimental results and their analyses, including the running time comparison between the previous backtracking technique and our proposed SAT-based approach. Finally, Section <xref ref-type="sec" rid="c0adb173-5281-5db9-dedf-8570aa9fc020">5</xref> concludes the paper with important findings and some open problems.</p></sec><sec id="sec-2"><title>2. Preliminaries and Related Works</title><sec id="sec-3"><title>2.1. Representation and Rules of Suguru Puzzles</title><p>An instance of a Suguru puzzle can be represented using a two-dimensional grid, divided into one or more regions, as depicted in <xref ref-type="fig" rid="figure-1">Fig. 1</xref>. The objective of this puzzle is to fill each cell with a number satisfying the following constraints:</p><list list-type="order"><list-item><p>every two distinct cells in a region must contain two diferent integers;</p></list-item><list-item><p>the integer in a cell within a region must be between one and the number of cells in such a region;</p></list-item><list-item><p>two adjacent cells in the grid, either orthogonally or diagonally, must contain two diferent integers.</p></list-item></list><p>Notice that the first two constraints above are derived from the first rule stating that each cell in a region must be filled with a unique integer between one and the number of cells in the region it belongs to. We divide the first rule into two constraints to make the translation of the rules into Boolean formulas more understandable.</p><p>A natural way to represent a Suguru instance and its solution is by using two-dimensional arrays as explained in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>. However, we refrain from discussing this data structure in detail because it is irrelevant to our SAT-based approach for solving this puzzle. Nevertheless, we introduce some notations similar to those in <xref ref-type="bibr" rid="BIBR-15">[15]</xref> to ease our analysis, namely:</p><list list-type="order"><list-item><p>the size of the grid is <inline-formula><tex-math id="math-4"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m × n \end{document} ]]></tex-math></inline-formula> if it contains <inline-formula><tex-math id="math-5"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m \end{document} ]]></tex-math></inline-formula> rows and <inline-formula><tex-math id="math-6"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \end{document} ]]></tex-math></inline-formula> columns,</p></list-item><list-item><p>a cell in an <inline-formula><tex-math id="math-7"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m × n \end{document} ]]></tex-math></inline-formula> grid is denoted by <inline-formula><tex-math id="math-8"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-9"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq i \leq m \end{document} ]]></tex-math></inline-formula>  and <inline-formula><tex-math id="math-10"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq j \leq n \end{document} ]]></tex-math></inline-formula>,</p></list-item><list-item><p>the overall number of regions in the grid is denoted by <inline-formula><tex-math id="math-11"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle R \end{document} ]]></tex-math></inline-formula>,</p></list-item><list-item><p>the overall number of hint cells in the grid is denoted by <inline-formula><tex-math id="math-12"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle H \end{document} ]]></tex-math></inline-formula>,</p></list-item><list-item><p>a region is labeled with an integer  <inline-formula><tex-math id="math-13"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \: ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula>; for a region <inline-formula><tex-math id="math-14"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula>, the number of cells in this region is denoted by <inline-formula><tex-math id="math-15"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula>.</p></list-item></list><p>Other notations are introduced when we discuss the representation of a Suguru puzzle instance as a SAT problem.</p><p>The cells are numbered in row-major order, i.e., the top-leftmost cell is the cell (1, 1) and the bottom-rightmost cell is the cell <inline-formula><tex-math id="math-16"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( m , n ) \end{document} ]]></tex-math></inline-formula>. The regions are also numbered in a row-major order, with the first visited region being region 1 while the last visited region being region <inline-formula><tex-math id="math-17"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle R \end{document} ]]></tex-math></inline-formula>. For example, in <xref ref-type="fig" rid="figure-1">Fig. 1</xref>, the top-leftmost cell is the cell (1, 1) and the bottom-rightmost cell is the cell (6, 6). Moreover, in <xref ref-type="fig" rid="figure-1">Fig. 1</xref>, there are nine regions (thus <inline-formula><tex-math id="math-18"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle R = 9 ) \end{document} ]]></tex-math></inline-formula> with <inline-formula><tex-math id="math-19"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 1 } = 5 \end{document} ]]></tex-math></inline-formula> (the region with three hint cells containing 3, 4, and 5), <inline-formula><tex-math id="math-20"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 2 } = 3 \end{document} ]]></tex-math></inline-formula> (the region with one hint cell containing 2), <inline-formula><tex-math id="math-21"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 3 } = 5 \end{document} ]]></tex-math></inline-formula> (the region with one hint cell containing 1), <inline-formula><tex-math id="math-22"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 4 } = 5 \end{document} ]]></tex-math></inline-formula> (the region with one hint cell containing 3), <inline-formula><tex-math id="math-23"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 5 } = 1 \end{document} ]]></tex-math></inline-formula> (the region containing a single cell), <inline-formula><tex-math id="math-24"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 6 } = s _ { 7 } = 5 , s _ { 8 } = 2 \end{document} ]]></tex-math></inline-formula>, and <inline-formula><tex-math id="math-25"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 9 } = 5 \end{document} ]]></tex-math></inline-formula> (the region with one hint cell containing 4). In <xref ref-type="fig" rid="figure-1">Fig. 1</xref>, we also have <inline-formula><tex-math id="math-26"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle H = 7 \end{document} ]]></tex-math></inline-formula>.</p></sec><sec id="sec-4"><title>2.2. Recent Algorithmic Investigation of Suguru Puzzles</title><p>Some general forms of Suguru puzzles were recently proven NP-complete in 2022 by Robert et al. <xref ref-type="bibr" rid="BIBR-2">[2]</xref>. The proofs involve a polynomial-time reduction from the Planar Circuit SAT problem, known to be NP-complete, to the Suguru puzzle. However, Robert et al. did not explicitly discuss the algorithm for solving the Suguru instance in general.</p><p>Recently, Butrahandisya et al. have discussed elementary algorithmic approaches for solving Suguru puzzles <xref ref-type="bibr" rid="BIBR-15">[15]</xref>. They proved that verifying whether a configuration is a solution to a Suguru instance takes polynomial time in terms of the puzzle’s size. Specifically, this verification takes <inline-formula><tex-math id="math-27"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle O ( m n ) \end{document} ]]></tex-math></inline-formula> time for a Suguru configuration of size <inline-formula><tex-math id="math-28"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \ m \times \ n \end{document} ]]></tex-math></inline-formula>. They also proposed an optimized backtracking algorithm for solving arbitrary <inline-formula><tex-math id="math-29"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \ m \times \ n \end{document} ]]></tex-math></inline-formula> Suguru instance with <inline-formula><tex-math id="math-30"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle R \end{document} ]]></tex-math></inline-formula> regions and <inline-formula><tex-math id="math-31"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle H \end{document} ]]></tex-math></inline-formula> hints cells in <inline-formula><tex-math id="math-32"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle O ( R \cdot ( m n - H + 2 ) ! ) \end{document} ]]></tex-math></inline-formula> time. This result provides a factorial upper bound for solving Suguru puzzles in general, although it is not the optimal one since Suguru puzzles are NP-complete. Their experimental results showed that Suguru instances with no more than 100 cells can be solved using a personal computer in less than 0.5 seconds. On the theoretical side, they also proved that any Suguru instance of size <inline-formula><tex-math id="math-33"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m \times 1 \end{document} ]]></tex-math></inline-formula> or <inline-formula><tex-math id="math-34"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \times n \end{document} ]]></tex-math></inline-formula> is tractable (i.e., solvable in polynomial time) for arbitrary m and n. This result provides a special subproblem of Suguru puzzles where the solution can be found quickly.</p><p>Despite the positive results introduced in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>, the backtracking approach for solving the Suguru puzzle still has some limitations. Theoretically, the asymptotic upper bound for this algorithm is still factorial in terms of puzzle size, which makes it not optimal (in terms of the running time for an NP-complete problem) and might make it practically less eficient for larger puzzles. In addition, the algorithm is not straightforward to implement due to its complex search criteria (cf. [<xref ref-type="bibr" rid="BIBR-15">15</xref>, Algorithm 2]). This complicated search criteria also makes the algorithm struggle to solve specific types of instances in which it encounters many invalid states during its exploration before finally settling on the correct solution states. The general idea of the optimized backtracking algorithm for solving Suguru puzzles in <xref ref-type="bibr" rid="BIBR-15">[15]</xref> is as follows:</p><list list-type="order"><list-item><p>Suppose we are given an instance of a Suguru puzzle. The cells are filled in row-major order. The hint cells are left unchanged. For each empty cell <inline-formula><tex-math id="math-35"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula>, the algorithm attempts to fill it with a value from a possible set of integers corresponding to the region to which the cell <inline-formula><tex-math id="math-36"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> belongs. In particular, if a cell <inline-formula><tex-math id="math-37"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> belongs to the region <inline-formula><tex-math id="math-38"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula>, then the algorithm tries to fill <inline-formula><tex-math id="math-39"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> with an integer from the set <inline-formula><tex-math id="math-40"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> (in increasing order).</p></list-item><list-item><p>Suppose the algorithm assigns an integer t to a cell <inline-formula><tex-math id="math-41"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula>, then it checks whether a backtracking is necessary based on the following conditions:</p></list-item></list><list list-type="order"><list-item><p>if any of the cells adjacent to <inline-formula><tex-math id="math-42"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> is filled with an integer <inline-formula><tex-math id="math-43"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle t \end{document} ]]></tex-math></inline-formula>, then the algorithm performs a backtrack;</p></list-item><list-item><p>if there is another cell within the same region as the cell <inline-formula><tex-math id="math-44"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> that is filled with an integer <inline-formula><tex-math id="math-45"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle t \end{document} ]]></tex-math></inline-formula>, then the algorithm also performs a backtrack.</p></list-item></list><p>A backtrack is performed by undoing the filling of the cell <inline-formula><tex-math id="math-46"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and then trying to fill <inline-formula><tex-math id="math-47"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula>with another integer. However, if there are no values that can fill the cell <inline-formula><tex-math id="math-48"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula>, the backtracking is performed further by moving back to the previous cell (in row-major order), and changing the entry of this previous cell with another integer.</p><list list-type="order"><list-item><p>The algorithm terminates if exactly one of the following conditions is reached:</p></list-item></list><list list-type="order"><list-item><p>all cells have been successfully filled, here the algorithm terminates, and a solution to the instance is found;</p></list-item><list-item><p>the algorithm backtracks to the cell (1, 1) (i.e., the top-leftmost cell), here the algorithm terminates and concludes that the instance has no solution.</p></list-item></list></sec><sec id="sec-5"><title>2.3. Propositional Logic, Conjunctive Normal Form (CNF), Satisfiability (SAT) Problem, and SAT Solver</title><p>Propositional logic is a simple but powerful logical system that serves as the building block for other logical systems <xref ref-type="bibr" rid="BIBR-37">[37]</xref>. This system is constructed using <italic>propositions</italic> and logical <italic>connectives</italic> (or <italic>operators</italic>). A proposition is a statement with a truth value, either true or false (but not both). These propositions are represented using Boolean variables that can be combined using logical operators to form formulas.</p><p>In this paper, we assume that the readers are familiar with the syntax and semantics of propositional logic. For extensive references, see, e.g., [<xref ref-type="bibr" rid="BIBR-37">37</xref>, Chapter 2] and [<xref ref-type="bibr" rid="BIBR-38">38</xref>, Chapter 1]. Here, we only discuss some concepts and notations that are relevant to our approach. The symbols <inline-formula><tex-math id="math-49"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ¬ \end{document} ]]></tex-math></inline-formula>, <inline-formula><tex-math id="math-50"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ∧ \end{document} ]]></tex-math></inline-formula>, and <inline-formula><tex-math id="math-51"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ∨ \end{document} ]]></tex-math></inline-formula> respectively denote negation, conjunction, and disjunction operators.</p><p>An <italic>atomic proposition</italic> is a proposition that cannot be further decomposed. A <italic>literal</italic> is either an atomic proposition or its negation. A <italic>clause</italic> is a disjunction of one or more literals. A formula is in <italic>conjunctive</italic><italic>normal form</italic> (CNF) if it is a conjunction of one or more clauses. More formally, a formula <inline-formula><tex-math id="math-52"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi \end{document} ]]></tex-math></inline-formula> is in CNF if it is defined by the following Backus-Naur Form grammar:</p><disp-formula id="equation-1"><tex-math id="math-53"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \begin{array}{l} \lambda : := p \mid \neg p \\ \alpha : := \lambda \mid \lambda \lor \alpha \\ \phi : := \alpha \mid \phi \land \alpha . \end{array}\tag{1} \end{document} ]]></tex-math></disp-formula><p>In <xref ref-type="disp-formula" rid="equation-1">(1)</xref>, <inline-formula><tex-math id="math-54"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \lambda \end{document} ]]></tex-math></inline-formula> denotes a literal, <inline-formula><tex-math id="math-55"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle α \end{document} ]]></tex-math></inline-formula> denotes a clause, and <inline-formula><tex-math id="math-56"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi \end{document} ]]></tex-math></inline-formula> denotes a formula in CNF. According to [<xref ref-type="bibr" rid="BIBR-37">37</xref>, Theorem 4.3] and [<xref ref-type="bibr" rid="BIBR-38">38</xref>, Section 1.5.2], every propositional logic formula can be transformed into an equivalent CNF formula. In this paper, we consider CNF as the canonical form for propositional formulas (instead of other forms, such as the <italic>disjunctive normal form</italic> (DNF)) because it is a standard input form for many SAT solvers.</p><p>The SAT problem, also known as the Boolean satisfiability problem, is a problem of determining the <italic>satisfiability</italic> of a propositional logic formula, i.e., finding out if there exists an interpretation (a well-defined truth value assignment for each of the propositional atoms) that makes the formula true <xref ref-type="bibr" rid="BIBR-18">[18]</xref>, <xref ref-type="bibr" rid="BIBR-20">[20]</xref>, <xref ref-type="bibr" rid="BIBR-37">[37]</xref>, <xref ref-type="bibr" rid="BIBR-38">[38]</xref>. This problem is the first established NP-complete problem (see, e.g., <xref ref-type="bibr" rid="BIBR-17">[17]</xref>, [<xref ref-type="bibr" rid="BIBR-18">18</xref>, Lemma 34.5 and Lemma 34.6], <xref ref-type="bibr" rid="BIBR-19">[19]</xref>, and [<xref ref-type="bibr" rid="BIBR-20">20</xref>, Theorem 7.37]). Technically, the NP-completeness of the SAT problem implies that every NP-complete problem is reducible to it. Moreover, since NP-complete problems are reducible to one another, every NP-complete problem is also reducible to the SAT problem.</p><p>Currently, the NP-completeness of the SAT problem intuitively means that checking whether an interpretation makes a propositional formula true is easy (i.e., it can be done in polynomial time), but finding such an interpretation is not. This intuition also applies to other NP-complete problems. For Suguru puzzles, checking whether a configuration is a solution to a Suguru instance is easy, while finding such a solution from scratch is generally hard<xref ref-type="fn" rid="fn-2"><sup>2</sup></xref>.</p><p>A SAT solver, as the name suggests, is a computer program specifically designed for solving the SAT problem. Since all NP-complete problems are reducible to the SAT problem, these problems can be transformed into the SAT problem. A SAT solver takes a propositional formula as an input, typically in CNF, and outputs the satisfiability status of such a formula (i.e., whether the formula is satisfiable or not). It has been extensively studied in computer science (see, e.g., [<xref ref-type="bibr" rid="BIBR-37">37</xref>, Chapter 6] for extensive preliminary references). When this paper is compiled, the fastest algorithm known for solving the SAT problem is the biased-PPSZ algorithm discussed by Hansen et al. in <xref ref-type="bibr" rid="BIBR-39">[39]</xref>. Until now, the optimal upper bound for the asymptotic complexity of algorithms for solving the SAT problem remains an open question.</p><p>The NP-completeness proof of the Suguru puzzle reduces the Planar Circuit SAT problem, a type of SAT problem, to the Suguru puzzle. However, it is natural to ask whether the explicit reverse reduction from the Suguru puzzle to the SAT problem is also possible. This paper partially addresses this concern by discussing an eficient (i.e., polynomial-size) encoding from the Suguru puzzle to the SAT problem. This encoding allows the puzzle to be solved using a SAT solver eficiently, as in the case of other NP-complete one-player games (see, e.g., <xref ref-type="bibr" rid="BIBR-27">[27]</xref>, <xref ref-type="bibr" rid="BIBR-30">[30]</xref>, <xref ref-type="bibr" rid="BIBR-31">[31]</xref>, <xref ref-type="bibr" rid="BIBR-32">[32]</xref>).</p></sec></sec><sec id="sec-6"><title>3. Suguru Puzzles as SAT Problem Instances</title><p>This section discusses a systematic approach for encoding Suguru puzzle instances and rules into propositional formulas. Suppose we consider an instance represented using an <inline-formula><tex-math id="math-57"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m×n \end{document} ]]></tex-math></inline-formula> grid divided into <inline-formula><tex-math id="math-58"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle R \end{document} ]]></tex-math></inline-formula> regions. For a region <inline-formula><tex-math id="math-59"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \: ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula>, <inline-formula><tex-math id="math-60"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> denotes the size of such a region (i.e., the number of cells in such a region). We define <inline-formula><tex-math id="math-61"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle r _ { i , j } = k \end{document} ]]></tex-math></inline-formula> if and only if the cell <inline-formula><tex-math id="math-62"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> belongs to a region <inline-formula><tex-math id="math-63"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula>. We can say that <inline-formula><tex-math id="math-64"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle r _ { i , j } \end{document} ]]></tex-math></inline-formula> is the region label for the cell <inline-formula><tex-math id="math-65"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle (i, j) \end{document} ]]></tex-math></inline-formula> in a Suguru instance grid.</p><p>To represent a Suguru puzzle as a SAT formula, we define a propositional variable <inline-formula><tex-math id="math-66"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> that is true if and only if the cell <inline-formula><tex-math id="math-67"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> contains an integer <inline-formula><tex-math id="math-68"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula>. Here, <inline-formula><tex-math id="math-69"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq i \leq m , 1 \leq j \leq n \end{document} ]]></tex-math></inline-formula>, and <inline-formula><tex-math id="math-70"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \le v \le s _ { k } \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-71"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle r _ { i , j } = k \end{document} ]]></tex-math></inline-formula>. The definition of this propositional variable is similar to that used in the Sudoku puzzle (see, e.g., <xref ref-type="bibr" rid="BIBR-33">[33]</xref>, <xref ref-type="bibr" rid="BIBR-34">[34]</xref>, and [<xref ref-type="bibr" rid="BIBR-40">40</xref>, Section 1.3]). We also write <inline-formula><tex-math id="math-72"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } = 1 \end{document} ]]></tex-math></inline-formula> to signify that <inline-formula><tex-math id="math-73"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> is true and <inline-formula><tex-math id="math-74"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } = 0 \end{document} ]]></tex-math></inline-formula> to signify that <inline-formula><tex-math id="math-75"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> is false (which is equivalent to <inline-formula><tex-math id="math-76"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neg g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> is true). In practice, we can also define <inline-formula><tex-math id="math-77"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } = 0 \end{document} ]]></tex-math></inline-formula> for a cell <inline-formula><tex-math id="math-78"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle (i, j) \end{document} ]]></tex-math></inline-formula> with <inline-formula><tex-math id="math-79"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle r _ { i , j } = k \end{document} ]]></tex-math></inline-formula> if <inline-formula><tex-math id="math-80"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v > s _ { k } \end{document} ]]></tex-math></inline-formula>.</p><sec id="sec-7"><title>3.1. SAT Encoding for Suguru Puzzles</title><p>A non-empty Suguru instance is represented as a propositional formula. In particular, the instance corresponds to a conjunction of several atomic propositions of the form <inline-formula><tex-math id="math-81"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , \ i } \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-82"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> is the hint cell filled with value <inline-formula><tex-math id="math-83"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula>.</p><fig id="figure-2"><label>Figure 2.</label><caption><p>An example of a Suguru instance<xref ref-type="fig" rid="figure-2"> (Fig. 2a)</xref> and its solution <xref ref-type="fig" rid="figure-2">(Fig. 2b)</xref>.</p></caption><long-desc>Bold numbers in the cells indicate hint cells.  The solution in <xref ref-type="fig" rid="figure-2">Fig. 2b</xref> fulfills the aforementioned rules of the Suguru puzzle.</long-desc><graphic xlink:href="https://www.jims-a.org/index.php/jimsa/article/download/1939/540/13856" mime-subtype="png" mimetype="image"><alt-text>Bold numbers in the cells indicate hint cells.  The solution in Fig. 2b fulfills the aforementioned rules of the Suguru puzzle.</alt-text></graphic></fig><p>For example, suppose we consider a <inline-formula><tex-math id="math-84"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 3 \times 3 \end{document} ]]></tex-math></inline-formula> Suguru puzzle in <xref ref-type="fig" rid="figure-2">Fig. 2</xref>. The instance in <xref ref-type="fig" rid="figure-2">Fig. 2a</xref> corresponds to the formula <inline-formula><tex-math id="math-85"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { 1 , 2 , 2 } \wedge g _ { 3 , 1 , 4 } \wedge g _ { 3 , 3 , 3 } \end{document} ]]></tex-math></inline-formula> since the cells (1, 2), (3, 1), and (3, 3) are respectively filled with values 2, 4, and 3. We may also write this condition as <inline-formula><tex-math id="math-86"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { 1 , 2 , 2 } = g _ { 3 , 1 , 4 } = g _ { 3 , 3 , 3 } = 1 \end{document} ]]></tex-math></inline-formula>. One solution to the instance in <xref ref-type="fig" rid="figure-2">Fig. 2a</xref> is depicted in <xref ref-type="fig" rid="figure-2">Fig. 2b</xref> and corresponds to the following formula <inline-formula><tex-math id="math-87"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \psi \end{document} ]]></tex-math></inline-formula>:</p><disp-formula id="equation-2"><tex-math id="math-88"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \begin{array}{r l} & {\psi \equiv g _ {1, 1, 1} \land \neg g _ {1, 1, 2} \land \neg g _ {1, 1, 3} \land \neg g _ {1, 1, 4}} \\ & {\quad \land \neg g _ {1, 2, 1} \land g _ {1, 2, 2} \land \neg g _ {1, 2, 3} \land \neg g _ {1, 2, 4}} \\ & {\quad \land \neg g _ {1, 3, 1} \land \neg g _ {1, 3, 2} \land \neg g _ {1, 3, 3} \land g _ {1, 3, 4}} \\ & {\quad \land \neg g _ {2, 1, 1} \land \neg g _ {2, 1, 2} \land g _ {2, 1, 3} \land \neg g _ {2, 1, 4}} \\ & {\quad \land \neg g _ {2, 2, 1} \land \neg g _ {2, 2, 2} \land \neg g _ {2, 2, 3} \land \neg g _ {2, 2, 4} \land g _ {2, 2, 5}} \\ & {\quad \land g _ {2, 3, 1} \land \neg g _ {2, 3, 2} \land \neg g _ {2, 3, 3} \land \neg g _ {2, 3, 4} \land \neg g _ {2, 3, 5}} \\ & {\quad \land \neg g _ {3, 1, 1} \land \neg g _ {3, 1, 2} \land \neg g _ {3, 1, 3} \land g _ {3, 1, 4} \land \neg g _ {3, 1, 5}} \\ & {\quad \land \neg g _ {3, 2, 1} \land g _ {3, 2, 2} \land \neg g _ {3, 2, 3} \land \neg g _ {3, 2, 4} \land \neg g _ {3, 2, 5}} \\ & {\quad \land \neg g _ {3, 3, 1} \land \neg g _ {3, 3, 2} \land g _ {3, 3, 3} \land \neg g _ {3, 3, 4} \land \neg g _ {3, 3, 5}.} \end{array}\tag{2} \end{document} ]]></tex-math></disp-formula><p>The construction of <inline-formula><tex-math id="math-89"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \psi \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-2">(2)</xref> can be explained as follows. Notice that the instance in <xref ref-type="fig" rid="figure-2">Fig. 2a</xref> contains two regions; the first region is the top one with <inline-formula><tex-math id="math-90"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 1 } = 4 \end{document} ]]></tex-math></inline-formula> and the second region is the bottom one with <inline-formula><tex-math id="math-91"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { 2 } = 5 \end{document} ]]></tex-math></inline-formula>. Each cell in the first region can be filled with any integer between 1 and 4 (inclusive), while each cell in the second region can be filled with any integer between 1 and 5 (inclusive). The filling of each cell must adhere to the rules of Suguru puzzles. In addition to the formula <inline-formula><tex-math id="math-92"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \psi \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-2">(2)</xref>, the solution in <xref ref-type="fig" rid="figure-2">Fig. 2b</xref> can also be described using the following interpretation for each possible atomic proposition involved:</p><list list-type="order"><list-item><p>for the first region, we have <inline-formula><tex-math id="math-93"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g_{1,1,1}=g_{1,2,2}=g_{1,3,4}=g_{2,1,3}=1 \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-94"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g_{1,1,2}=g_{1,1,3}=g_{1,1,4}=g_{1,2,1}=g_{1,2,3}=g_{1,2,4}=g_{1,3,1}=g_{1,3,2}=g_{1,3,3}=g_{2,1,1}=g_{2,1,2}=g_{2,1,4}=0 \end{document} ]]></tex-math></inline-formula>;</p></list-item><list-item><p>for the second region, we have <inline-formula><tex-math id="math-95"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g_{2,2,5}=g_{2,3,1}=g_{3,1,4}=g_{3,2,2}=g_{3,3,3}=1 \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-96"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \begin{aligned} \end{document} ]]></tex-math></inline-formula></p></list-item><list-item><p><inline-formula><tex-math id="math-97"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle &g_{2,2,1} = g_{2,2,2} = g_{2,2,3} = g_{2,2,4} = g_{2,3,2} = g_{2,3,3} = g_{2,3,4} = g_{2,3,5} = \\[4pt] \end{document} ]]></tex-math></inline-formula></p></list-item><list-item><p><inline-formula><tex-math id="math-98"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle &g_{3,1,1} = g_{3,1,2} = g_{3,1,3} = g_{3,1,5} = g_{3,2,1} = g_{3,2,3} = g_{3,2,4} = g_{3,2,5} = g_{3,3,1} = \\[4pt] \end{document} ]]></tex-math></inline-formula></p></list-item><list-item><p><inline-formula><tex-math id="math-99"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle &g_{3,3,2} = g_{3,3,4} = g_{3,3,5} = 0. \end{document} ]]></tex-math></inline-formula></p></list-item><list-item><p><inline-formula><tex-math id="math-100"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \end{aligned} \end{document} ]]></tex-math></inline-formula></p></list-item></list><p>For the first region in <xref ref-type="fig" rid="figure-2">Fig. 2a</xref>, each propositional variable represents whether a cell <inline-formula><tex-math id="math-101"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \in \{ ( 1 , 1 ) , ( 1 , 2 ) , ( 1 , 3 ) , ( 2 , 1 ) \} \end{document} ]]></tex-math></inline-formula> can be filled with a value between 1 and 4 (inclusive). Thus, there are <inline-formula><tex-math id="math-102"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 4 \cdot 4 = 1 6 \end{document} ]]></tex-math></inline-formula> propositional variables representing the possible cell configurations for the first region. For the second region in <xref ref-type="fig" rid="figure-2">Fig. 2a</xref>, every propositional variable signifies whether a cell <inline-formula><tex-math id="math-103"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \in \{ ( 2 , 2 ) , ( 2 , 3 ) , ( 3 , 1 ) , ( 3 , 2 ) , ( 3 , 3 ) \} \end{document} ]]></tex-math></inline-formula> can be filled with an integer between 1 and 5 (inclusive). Hence, there are <inline-formula><tex-math id="math-104"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 5 \cdot 5 = 2 5 \end{document} ]]></tex-math></inline-formula> propositional variables signifying the possible cell configuration for the second region. Accordingly, the total number of propositional variables needed to model the puzzle in <xref ref-type="fig" rid="figure-2">Fig. 2</xref> is <inline-formula><tex-math id="math-105"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 6 + 2 5 = 4 1 \end{document} ]]></tex-math></inline-formula>. A general analysis for the total number of propositional variables in a general Suguru puzzle will be discussed separately in Section <xref ref-type="sec" rid="49dd24fc-6523-e76a-c9aa-1afe7ee2ef9a">3.2</xref>. Notice that the formula <inline-formula><tex-math id="math-106"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \psi \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-2">(2)</xref> preserves the truth values of the propositional variables corresponding to the hint cells, namely <inline-formula><tex-math id="math-107"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { 1 , 2 , 2 } = g _ { 3 , 1 , 4 } = g _ { 3 , 3 , 3 } = 1 \end{document} ]]></tex-math></inline-formula>.</p><p>To formally construct formulas relating to Suguru puzzles, we consider the following three rules, which are refined and formalized from the constraints of Suguru puzzles in Section <xref ref-type="sec" rid="bf846f46-d696-aaf4-e0ec-e43b220682d8">2.1</xref>:</p><list list-type="order"><list-item><p>Every cell <inline-formula><tex-math id="math-108"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in the instance contains a unique value in a region. In other words, there is some <inline-formula><tex-math id="math-109"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> such that <inline-formula><tex-math id="math-110"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> contains <inline-formula><tex-math id="math-111"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> and there are no two values <inline-formula><tex-math id="math-112"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-113"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v ^ { \prime } \end{document} ]]></tex-math></inline-formula> with <inline-formula><tex-math id="math-114"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \neq v ^ { \prime } \end{document} ]]></tex-math></inline-formula>  such that <inline-formula><tex-math id="math-115"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> contains both <inline-formula><tex-math id="math-116"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-117"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v ^ { \prime } \end{document} ]]></tex-math></inline-formula>.</p></list-item><list-item><p>For every region <inline-formula><tex-math id="math-118"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \ ( 1 \leq \ k \ \leq \ R ) \end{document} ]]></tex-math></inline-formula> containing <inline-formula><tex-math id="math-119"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> cells, every value <inline-formula><tex-math id="math-120"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \in \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula>must occur in one of the cell <inline-formula><tex-math id="math-121"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> within such a region.</p></list-item><list-item><p>No two adjacent cells contain the same number. In other words, if <inline-formula><tex-math id="math-122"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-123"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> are two adjacent cells, then the values within <inline-formula><tex-math id="math-124"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-125"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> must be different.</p></list-item></list><p>Notice that the combination of the first and second rule above ensures that every cell <inline-formula><tex-math id="math-126"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> within a region <inline-formula><tex-math id="math-127"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \left( 1 \leq k \leq R \right) \end{document} ]]></tex-math></inline-formula> must be filled with a unique integer taken from the set <inline-formula><tex-math id="math-128"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-129"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> denotes the number of cells in such region.</p><p>In the following sections, we discuss the encoding of each rule and analyze the size of the resulting formulas in terms of the number of clauses and literals. Measuring the size of the CNF formulas in terms of the number of clauses and literals is common in SAT-based approaches for solving a problem(see, e.g., <xref ref-type="bibr" rid="BIBR-2 BIBR-7">[27]</xref>, <xref ref-type="bibr" rid="BIBR-29">[29]</xref>, <xref ref-type="bibr" rid="BIBR-30">[30]</xref>, <xref ref-type="bibr" rid="BIBR-31">[31]</xref>).</p><sec id="sec-8"><title>3.1.1. SAT Encoding of the First Rule: Each Cell Contains a Unique Integer in a Region.</title><p>This section focuses on the SAT encoding of the first rule, which states that each cell <inline-formula><tex-math id="math-130"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in a region <inline-formula><tex-math id="math-131"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \left( 1 \leq k \leq R \right) \end{document} ]]></tex-math></inline-formula> of size <inline-formula><tex-math id="math-132"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> must contain exactly one integer from the set <inline-formula><tex-math id="math-133"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula>. We denote the propositional formula representing this rule as <inline-formula><tex-math id="math-134"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 } \end{document} ]]></tex-math></inline-formula>. We introduce two sub-formulas <inline-formula><tex-math id="math-135"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-136"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> which decompose <inline-formula><tex-math id="math-137"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 } \end{document} ]]></tex-math></inline-formula> into more understandable parts. Here, <inline-formula><tex-math id="math-138"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula> ensures that each cell contains at least one integer from the set <inline-formula><tex-math id="math-139"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula>, a cell cannot be empty), whereas <inline-formula><tex-math id="math-140"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> guarantees that no two distinct integers present within the cell <inline-formula><tex-math id="math-141"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> for every <inline-formula><tex-math id="math-142"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq i \leq m \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-143"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq j \leq n \end{document} ]]></tex-math></inline-formula>, a cell cannot contain more than one value).</p><p>We define the formula <inline-formula><tex-math id="math-144"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula> as follows:</p><disp-formula id="equation-3"><tex-math id="math-145"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{1,1} \overset{\text{def}}{\equiv} \bigwedge_{i=1}^{m} \bigwedge_{j=1}^{n} \bigvee_{\substack{v=1, \\ k=r_{i,j}}}^{s_k} g_{i,j,v}. \tag{3} \end{document} ]]></tex-math></disp-formula><p>The construction of <inline-formula><tex-math id="math-146"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-3">(3)</xref> is explained as follows. For a cell <inline-formula><tex-math id="math-147"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in any region <inline-formula><tex-math id="math-148"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula>, the clause <inline-formula><tex-math id="math-149"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , 1 } \vee g _ { i , j , 2 } \vee \cdot \cdot \cdot \vee g _ { i , j , s _ { k } } \end{document} ]]></tex-math></inline-formula> is introduced, which can be concisely written as <inline-formula><tex-math id="math-150"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \bigvee _ { v = 1 , k = r _ { i , j } } ^ { s _ { k } } g _ { i , j , v } \end{document} ]]></tex-math></inline-formula>. This clause guarantees that the cell <inline-formula><tex-math id="math-151"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in region <inline-formula><tex-math id="math-152"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula> contains at least one integer from the set <inline-formula><tex-math id="math-153"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula>. Since this clause must be true for every cell <inline-formula><tex-math id="math-154"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-155"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq i \leq m , 1 \leq j \leq n \end{document} ]]></tex-math></inline-formula>, and <inline-formula><tex-math id="math-156"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> is in region <inline-formula><tex-math id="math-157"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula>, we obtain the formula <inline-formula><tex-math id="math-158"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula> as defined in <xref ref-type="disp-formula" rid="equation-3">(3)</xref>.</p><p>The formula <inline-formula><tex-math id="math-159"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> ensures that no two distinct values are present within the same cell <inline-formula><tex-math id="math-160"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula>. If this condition holds, then every cell contains at most one value.</p><p>We define the formula <inline-formula><tex-math id="math-161"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> as follows:</p><disp-formula id="equation-4"><tex-math id="math-162"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{1,2} \overset{\text{def}}{\equiv} \bigwedge_{i=1}^{m} \bigwedge_{j=1}^{n} \bigwedge_{\substack{v=1, \\ k=r_{i,j}}}^{s_k-1} \bigwedge_{\substack{v'=v+1, \\ k=r_{i,j}}}^{s_k} (\neg g_{i,j,v} \lor \neg g_{i,j,v'}). \tag{4} \end{document} ]]></tex-math></disp-formula><p>The idea for the construction of <inline-formula><tex-math id="math-163"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-4">(4)</xref> is explained as follows. We first set the rule that for a given cell <inline-formula><tex-math id="math-164"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula>, this cell cannot contain two diferent integers <inline-formula><tex-math id="math-165"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-166"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v ^ { \prime } \end{document} ]]></tex-math></inline-formula> simultaneously. Notice that if <inline-formula><tex-math id="math-167"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> contains two diferent integers <inline-formula><tex-math id="math-168"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-169"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v ^ { \prime } \end{document} ]]></tex-math></inline-formula>, we have <inline-formula><tex-math id="math-170"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } \wedge g _ { i , j , v ^ { \prime } } \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-171"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \ne v ^ { \prime } \end{document} ]]></tex-math></inline-formula>. Accordingly, the formula <inline-formula><tex-math id="math-172"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neg ( g _ { i , j , v } \wedge g _ { i , j , v ^ { \prime } } ) \end{document} ]]></tex-math></inline-formula> with <inline-formula><tex-math id="math-173"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \ne v ^ { \prime } \end{document} ]]></tex-math></inline-formula> means that there are no distinct integers <inline-formula><tex-math id="math-174"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-175"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v ^ { \prime } \end{document} ]]></tex-math></inline-formula> satisfying both <inline-formula><tex-math id="math-176"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-177"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v ^ { \prime } } \end{document} ]]></tex-math></inline-formula>. Since <inline-formula><tex-math id="math-178"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neg ( g _ { i , j , v } \wedge g _ { i , j , v ^ { \prime } } ) \equiv \neg g _ { i , j , v } \vee \neg g _ { i , j , v ^ { \prime } } \end{document} ]]></tex-math></inline-formula>, we introduce the clause <inline-formula><tex-math id="math-179"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neg g _ { i , j , v } \lor \neg g _ { i , j , v ^ { \prime } } \end{document} ]]></tex-math></inline-formula>, which evaluates to false if and only if the cell <inline-formula><tex-math id="math-180"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> contains both integers <inline-formula><tex-math id="math-181"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-182"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v ^ { \prime } \end{document} ]]></tex-math></inline-formula>. To include this clause for every possible combination of integer pairs <inline-formula><tex-math id="math-183"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle (v , { v } ^ { \prime }) \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-184"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \neq v ^ { \prime } \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-185"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v , v ^ { \prime } \in \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> for the cell <inline-formula><tex-math id="math-186"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in region <inline-formula><tex-math id="math-187"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula>, the following expression is used:</p><disp-formula id="equation-5"><tex-math id="math-188"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi'_{1,2} \overset{\text{def}}{\equiv} \bigwedge_{\substack{v=1, \\ k=r_{i,j}}}^{s_k-1} \bigwedge_{\substack{v'=v+1, \\ k=r_{i,j}}}^{s_k} (\neg g_{i,j,v} \lor \neg g_{i,j,v'}). \tag{5} \end{document} ]]></tex-math></disp-formula><p>This expression is commonly known as the <italic>pairwise</italic> encoding <xref ref-type="bibr" rid="BIBR-41">[41]</xref>.  Since the expression <xref ref-type="disp-formula" rid="equation-5">(5)</xref> must hold for every cell <inline-formula><tex-math id="math-189"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle (i,j) \end{document} ]]></tex-math></inline-formula> in region <inline-formula><tex-math id="math-190"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-191"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 ≤ i ≤ m \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-192"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 ≤ j ≤ n \end{document} ]]></tex-math></inline-formula>, we obtain <inline-formula><tex-math id="math-193"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2} \end{document} ]]></tex-math></inline-formula>as defined in <xref ref-type="disp-formula" rid="equation-4">(4)</xref>. </p><p>Finally, we arrive at <inline-formula><tex-math id="math-194"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 } \end{document} ]]></tex-math></inline-formula> which combines <inline-formula><tex-math id="math-195"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-196"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \colon \end{document} ]]></tex-math></inline-formula></p><disp-formula id="equation-6"><tex-math id="math-197"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_1 \overset{\text{def}}{\equiv} \phi_{1,1} \land \phi_{1,2}. \tag{6} \end{document} ]]></tex-math></disp-formula><p>The expression <xref ref-type="disp-formula" rid="equation-6">(6)</xref> asserts that each cell within a region <inline-formula><tex-math id="math-198"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \ ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> contains exactly one integer. The following lemma discusses the number of clauses and literals in <inline-formula><tex-math id="math-199"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 } \end{document} ]]></tex-math></inline-formula>.</p><p>Lemma <target id="anchor-441081b1-62dd-4656-a449-577535fbc57c" target-type="reference-target"/>3.1. <italic>The formula </italic><inline-formula><tex-math id="math-200"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 } \end{document} ]]></tex-math></inline-formula><italic> in </italic><xref ref-type="disp-formula" rid="equation-6">(6)</xref><italic> consists of m </italic><inline-formula><tex-math id="math-201"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \scriptstyle \iota + \sum _ { k = 1 } ^ { R } ( s _ { k } ^ { 2 } \cdot ( s _ { k } - 1 ) ) / 2 \end{document} ]]></tex-math></inline-formula><italic> clauses. In addition, each clause in the sub-formula </italic><inline-formula><tex-math id="math-202"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula><italic> associated with a region k </italic><inline-formula><tex-math id="math-203"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( 1 \leq k \leq \end{document} ]]></tex-math></inline-formula><italic> R) has </italic><inline-formula><tex-math id="math-204"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula><italic> literals, while each clause in the sub-formula </italic><inline-formula><tex-math id="math-205"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula><italic> has two literals.</italic></p><p><italic>Proof</italic>. The number of clauses in <inline-formula><tex-math id="math-206"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula> is straightforward to determine, as it is equal to the total number of cells in the puzzle, which is mn, with each cell contributing one clause. For the number of literals in each clause, notice that for each region <inline-formula><tex-math id="math-207"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k , \end{document} ]]></tex-math></inline-formula> we have <inline-formula><tex-math id="math-208"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> values of <inline-formula><tex-math id="math-209"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \end{document} ]]></tex-math></inline-formula> from the set <inline-formula><tex-math id="math-210"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> . This means the number of literals in a clause of the form <inline-formula><tex-math id="math-211"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \bigvee _ { v = 1 , k = r _ { i , j } } ^ { s _ { k } } g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> is <inline-formula><tex-math id="math-212"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula></p><p>The number of clauses in <inline-formula><tex-math id="math-213"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> follows a diferent pattern. For each cell in region k where <inline-formula><tex-math id="math-214"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \ > \ 1 \end{document} ]]></tex-math></inline-formula> , clauses are constructed by selecting two distinct values, v and <inline-formula><tex-math id="math-215"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v ^ { \prime } { . } \end{document} ]]></tex-math></inline-formula> , from the set <inline-formula><tex-math id="math-216"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> , for all possible combinations of v and <inline-formula><tex-math id="math-217"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v ^ { \prime } . \end{document} ]]></tex-math></inline-formula> Consequently, each cell contributes <inline-formula><tex-math id="math-218"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle { \binom { s _ { k } } { 2 } } \ : = \ : ( s _ { k } \cdot ( s _ { k } - 1 ) ) / 2 \end{document} ]]></tex-math></inline-formula> clauses. Considering all mn cells, the total number of clauses in <inline-formula><tex-math id="math-219"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> can be expressed as the sum <inline-formula><tex-math id="math-220"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { i = 1 } ^ { m } \sum _ { j = 1 , k = r _ { i , j } } ^ { n } ( s _ { k } \cdot ( s _ { k } - 1 ) ) / 2 \end{document} ]]></tex-math></inline-formula> . By observing that there are <inline-formula><tex-math id="math-221"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> cells in every region k (where <inline-formula><tex-math id="math-222"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> , we can further simplify the summation into <inline-formula><tex-math id="math-223"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } ( s _ { k } ^ { 2 } \end{document} ]]></tex-math></inline-formula><inline-formula><tex-math id="math-224"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( s _ { k } - 1 ) / 2 \end{document} ]]></tex-math></inline-formula> . Notice that each clause in <inline-formula><tex-math id="math-225"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> contains two literals, i.e., <inline-formula><tex-math id="math-226"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neg g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-227"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neg g _ { i , j , v ^ { \prime } } \end{document} ]]></tex-math></inline-formula>.</p><p>We combine the number of clauses from both <inline-formula><tex-math id="math-228"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 1 } \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-229"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> to obtain the overall number of clauses in <inline-formula><tex-math id="math-230"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 } . \end{document} ]]></tex-math></inline-formula> resulting in <inline-formula><tex-math id="math-231"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \begin{array} { r } { m n + \sum _ { k = 1 } ^ { R } s _ { k } ^ { 2 } \cdot ( s _ { k } - 1 ) / 2 } \end{array} \end{document} ]]></tex-math></inline-formula> clauses. Notice that this condition also holds if one of the regions contains a single cell— such a region contributes 0 clauses to the sub-formula <inline-formula><tex-math id="math-232"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 , 2 } \end{document} ]]></tex-math></inline-formula> □</p><p>3.1.2.<italic> SAT Encoding of the Second Rule: Every Value in a Specified Range Must Be Assigned to a Cell.</italic></p><p>This section focuses on the SAT encoding of the second rule, which states that every value from the set <inline-formula><tex-math id="math-233"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> (for every region k where <inline-formula><tex-math id="math-234"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> must be assigned to a cell. We represent this rule using the formula <inline-formula><tex-math id="math-235"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula></p><p>Eficient construction of <inline-formula><tex-math id="math-236"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula> can be done as follows. The second rule emphasizes the condition that every value <inline-formula><tex-math id="math-237"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \in \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> in a region <inline-formula><tex-math id="math-238"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \ ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> containing <inline-formula><tex-math id="math-239"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> cells must occur at least once in the cell <inline-formula><tex-math id="math-240"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> (that belongs to the region <inline-formula><tex-math id="math-241"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k ) \end{document} ]]></tex-math></inline-formula> . Suppose we consider a region k and a value <inline-formula><tex-math id="math-242"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \in \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> , if at least one cell <inline-formula><tex-math id="math-243"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in such region contains v, then <inline-formula><tex-math id="math-244"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> is true for some cell <inline-formula><tex-math id="math-245"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> within this region. Consequently, we have the following formula</p><disp-formula id="equation-7"><tex-math id="math-246"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{2}^{\prime}\stackrel {\text{def}}{=}\bigvee_{i = 1}^{m}\bigvee_{\substack{j = 1,\\ r_{i,j} = k}}^{n}g_{i,j,v},\tag{7} \end{document} ]]></tex-math></disp-formula><p>for a region k and for every value <inline-formula><tex-math id="math-247"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \in \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> . Notice that <inline-formula><tex-math id="math-248"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } ^ { \prime } \end{document} ]]></tex-math></inline-formula> in <inline-formula><tex-math id="math-249"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( 7 ) \end{document} ]]></tex-math></inline-formula> is true if and only if at least one cell in region k contains <inline-formula><tex-math id="math-250"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \in \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> . To include <inline-formula><tex-math id="math-251"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } ^ { \prime } \end{document} ]]></tex-math></inline-formula> for every value v in <inline-formula><tex-math id="math-252"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> , we use the following formula</p><disp-formula id="equation-8"><tex-math id="math-253"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \begin{array}{c} \phi_ {2} ^ {\prime \prime} \stackrel {{\text { def }}} {{=}} \bigwedge_ {v = 1} ^ {s _ {k}} \phi_ {2} ^ {\prime} \\ \equiv \bigwedge_ {v = 1} ^ {s _ {k}} \bigvee_ {i = 1} ^ {m} \bigvee_ {j = 1, r _ {i, j} = k} ^ {n} g _ {i, j, v}. \end{array}\tag{8} \end{document} ]]></tex-math></disp-formula><p>Thus, to ensure that <inline-formula><tex-math id="math-254"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } ^ { \prime \prime } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-8">(8)</xref> is included for every region k where <inline-formula><tex-math id="math-255"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq k \leq R \end{document} ]]></tex-math></inline-formula> , we obtain the formula <inline-formula><tex-math id="math-256"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula> as follows:</p><disp-formula id="equation-9"><tex-math id="math-257"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \begin{array}{l}\phi_{2}\stackrel {\mathrm{def}}{=}\bigwedge_{k = 1}^{R}\phi_{2}^{\prime \prime}\\ \equiv \bigwedge_{k = 1}^{R}\bigwedge_{v = 1}^{s_{k}}\bigvee_{i = 1}^{m}\bigvee_{\substack{j = 1\\ r_{i,j} = k}}^{n}g_{i,j,v}. \end{array}\tag{9} \end{document} ]]></tex-math></disp-formula><p>The following lemma discusses the number of clauses and literals in <inline-formula><tex-math id="math-258"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-9">(9)</xref>.</p><p>Lemma <target id="anchor-03584b65-70f6-443f-af2d-edb787b831b0" target-type="reference-target"/>3.2. <italic>The formula </italic><inline-formula><tex-math id="math-259"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula><italic> in </italic><xref ref-type="disp-formula" rid="equation-9">(9)</xref><italic> consists </italic><inline-formula><tex-math id="math-260"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle o f \sum _ { k = 1 } ^ { R } s _ { k } \end{document} ]]></tex-math></inline-formula><italic> clauses where each clause associated with a region </italic><inline-formula><tex-math id="math-261"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \end{document} ]]></tex-math></inline-formula><italic> has </italic><inline-formula><tex-math id="math-262"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula><italic> literals.</italic></p><p><italic>Proof</italic>. Determining the number of clauses in <inline-formula><tex-math id="math-263"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula> is straightforward. In each region <inline-formula><tex-math id="math-264"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k , \end{document} ]]></tex-math></inline-formula> we have <inline-formula><tex-math id="math-265"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> values from the set <inline-formula><tex-math id="math-266"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> , where each value corresponds to a single clause. Hence, the total number of clauses in <inline-formula><tex-math id="math-267"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula> can be obtained by summing <inline-formula><tex-math id="math-268"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> across all regions k <inline-formula><tex-math id="math-269"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> , which is expressed as <inline-formula><tex-math id="math-270"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \sum _ { k = 1 } ^ { R } s _ { k } \end{document} ]]></tex-math></inline-formula></p><p>The number of literals in each clause in <inline-formula><tex-math id="math-271"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula> varies. From <inline-formula><tex-math id="math-272"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } ^ { \prime } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-7">(7)</xref> and <inline-formula><tex-math id="math-273"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } ^ { \prime \prime } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-8">(8)</xref>, we know that for a clause associated with a region <inline-formula><tex-math id="math-274"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \left( 1 \leq k \leq R \right) \end{document} ]]></tex-math></inline-formula> , the number of literals equals to the number of cells in such region. This is because the formula <inline-formula><tex-math id="math-275"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } ^ { \prime } \end{document} ]]></tex-math></inline-formula> represents the condition when at least one cell <inline-formula><tex-math id="math-276"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in region <inline-formula><tex-math id="math-277"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \ ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> contains the value <inline-formula><tex-math id="math-278"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \in \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> . Since there are <inline-formula><tex-math id="math-279"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> cells in such region, we obtain <inline-formula><tex-math id="math-280"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> as the number of literals in the aforementioned clause. □</p><p>3.1.3. <italic>SAT Encoding of the Third Rule: No Two Adjacent Cells Contain the Same Number.</italic></p><p>This section delves into the SAT encoding of the third rule, which prohibits the presence of the same number in any two adjacent cells, be it horizontally, vertically, or diagonally. We denote ϕ as a propositional formula representing this rule.</p><p>To break down <inline-formula><tex-math id="math-281"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> into manageable parts, we introduce eight sub-formulas, denoted by <inline-formula><tex-math id="math-282"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 , 1 } , \phi _ { 3 , 2 } , \phi _ { 3 , 3 } , \phi _ { 3 , 4 } , \phi _ { 3 , 5 } , \end{document} ]]></tex-math></inline-formula> , ϕ , ϕ , and <inline-formula><tex-math id="math-283"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 , 8 } , \end{document} ]]></tex-math></inline-formula> , each corresponding to one of the eight possible adjacent directions for any given cell (see <xref ref-type="fig" rid="figure-3">Fig. 3</xref>) . These sub-formulas incorporate the clause <inline-formula><tex-math id="math-284"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neg g _ { i , j , v } \lor \neg g _ { i ^ { \prime } , j ^ { \prime } , v } , \end{document} ]]></tex-math></inline-formula> , which states that a cell <inline-formula><tex-math id="math-285"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and its adjacent cell <inline-formula><tex-math id="math-286"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> cannot contain the same value v. Notice that the clause <inline-formula><tex-math id="math-287"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neg g _ { i , j , v } \lor \neg g _ { i ^ { \prime } , j ^ { \prime } , v } \end{document} ]]></tex-math></inline-formula> is false when both <inline-formula><tex-math id="math-288"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-289"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i ^ { \prime } , j ^ { \prime } , v } \end{document} ]]></tex-math></inline-formula> are true, i.e., when both cells are filled by the same value v.</p><fig id="figure-3"><label>Figure 3.</label><caption><p>A cell (i,j) and the position of its adjacent cells inrow-major order label (i.e., the ℓ-th neighbor).</p></caption><long-desc>Notice that someadjacent cells may not be available if they are out of the grid.  Cell1 (first neighbor) corresponds to the cell (i− 1,j− 1) while cell 8(eighth neighbor) corresponds to the cell (i + 1,j + 1).</long-desc><graphic xlink:href="https://www.jims-a.org/index.php/jimsa/article/download/1939/540/13857" mime-subtype="png" mimetype="image"><alt-text>Notice that someadjacent cells may not be available if they are out of the grid.  Cell1 (first neighbor) corresponds to the cell (i− 1,j− 1) while cell 8(eighth neighbor) corresponds to the cell (i + 1,j + 1).</alt-text></graphic></fig><p>To ensure that every value <inline-formula><tex-math id="math-290"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle v \in \{ 1 , 2 , \ldots , s _ { k } \} \end{document} ]]></tex-math></inline-formula> does not appear in two adjacent cells <inline-formula><tex-math id="math-291"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-292"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> , we consider the following formula</p><disp-formula id="equation-10"><tex-math id="math-293"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3}^{\prime}\stackrel {\text{def}}{=}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i^{\prime},j^{\prime}}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i^{\prime},j^{\prime},v}).\tag{10} \end{document} ]]></tex-math></disp-formula><p>Notice that in <xref ref-type="disp-formula" rid="equation-10">(10)</xref>, the cell <inline-formula><tex-math id="math-294"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> belongs to region k, but its neighbor <inline-formula><tex-math id="math-295"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> does not necessarily appear in region k. The value k is set to avoid out-of-bound indices for the variable v. Although we can set <inline-formula><tex-math id="math-296"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k = r _ { i , j } \end{document} ]]></tex-math></inline-formula> and define <inline-formula><tex-math id="math-297"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i ^ { \prime } , j ^ { \prime } , v } = 0 \end{document} ]]></tex-math></inline-formula> whenever the value v is larger than <inline-formula><tex-math id="math-298"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k , \end{document} ]]></tex-math></inline-formula> we can set <inline-formula><tex-math id="math-299"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k = \operatorname* { m i n } \{ r _ { i , j } , r _ { i ^ { \prime } , j ^ { \prime } } \} \end{document} ]]></tex-math></inline-formula> to minimize the number of propositional atoms in <inline-formula><tex-math id="math-300"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } ^ { \prime } \end{document} ]]></tex-math></inline-formula> . Then, to ensure that <inline-formula><tex-math id="math-301"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } ^ { \prime } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-10">(10)</xref> is considered for every cell <inline-formula><tex-math id="math-302"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in a region k and its adjacent cell <inline-formula><tex-math id="math-303"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-304"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \le i , i ^ { \prime } \le \end{document} ]]></tex-math></inline-formula> m and <inline-formula><tex-math id="math-305"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq j , j ^ { \prime } \leq n . \end{document} ]]></tex-math></inline-formula> , we obtain the sub-formulas of the form <inline-formula><tex-math id="math-306"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 , \ell } , \end{document} ]]></tex-math></inline-formula> , where <inline-formula><tex-math id="math-307"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq \ell \leq 8 \end{document} ]]></tex-math></inline-formula> , representing that the cell <inline-formula><tex-math id="math-308"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula>in region k and its <inline-formula><tex-math id="math-309"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \ell\text{-th} \end{document} ]]></tex-math></inline-formula>neighbour (according to <xref ref-type="fig" rid="figure-3">Fig. 3</xref>) contain distinct values. The sub-formulas of the form <inline-formula><tex-math id="math-310"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 , \ell } \end{document} ]]></tex-math></inline-formula> are respectively defined in <xref ref-type="disp-formula" rid="equation-11">(11)</xref>–<xref ref-type="disp-formula" rid="equation-18">(18)</xref>.</p><disp-formula id="equation-11"><tex-math id="math-311"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3,1}\stackrel {\text{def}}{=}\bigwedge_{i = 2}^{m}\bigwedge_{j = 2}^{n}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i - 1,j - 1}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i - 1,j - 1,v}).\tag{11} \end{document} ]]></tex-math></disp-formula><disp-formula id="equation-12"><tex-math id="math-312"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3,2}\stackrel {\text{def}}{=}\bigwedge_{i = 2}^{m}\bigwedge_{j = 1}^{n}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i - 1,j}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i - 1,j,v}).\tag{12} \end{document} ]]></tex-math></disp-formula><disp-formula id="equation-13"><tex-math id="math-313"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3,3}\stackrel {\text{def}}{=}\bigwedge_{i = 2}^{m}\bigwedge_{j = 1}^{n - 1}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i - 1,j + 1}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i - 1,j + 1,v}).\tag{13} \end{document} ]]></tex-math></disp-formula><disp-formula id="equation-14"><tex-math id="math-314"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3,4}\stackrel {\text{def}}{=}\bigwedge_{i = 1}^{m}\bigwedge_{j = 2}^{n}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i,j - 1}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i,j - 1,v}).\tag{14} \end{document} ]]></tex-math></disp-formula><disp-formula id="equation-15"><tex-math id="math-315"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3,5}\stackrel {\text{def}}{=}\bigwedge_{i = 1}^{m}\bigwedge_{j = 1}^{n - 1}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i,j + 1}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i,j + 1,v}).\tag{15} \end{document} ]]></tex-math></disp-formula><disp-formula id="equation-16"><tex-math id="math-316"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3,6}\stackrel {\text{def}}{=}\bigwedge_{i = 1}^{m - 1}\bigwedge_{j = 2}^{n}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i + 1,j - 1}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i + 1,j - 1,v}).\tag{16} \end{document} ]]></tex-math></disp-formula><disp-formula id="equation-17"><tex-math id="math-317"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3,7}\stackrel {\text{def}}{=}\bigwedge_{i = 1}^{m - 1}\bigwedge_{j = 1}^{n}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i + 1,j}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i + 1,j,v}).\tag{17} \end{document} ]]></tex-math></disp-formula><disp-formula id="equation-18"><tex-math id="math-318"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_{3,8}\stackrel {\text{def}}{=}\bigwedge_{i = 1}^{m - 1}\bigwedge_{j = 1}^{n - 1}\bigwedge_{\substack{v = 1,\\ k = \min \{r_{i,j},r_{i + 1,j + 1}\}}}^{s_{k}}(\neg g_{i,j,v}\lor \neg g_{i + 1,j + 1,v}).\tag{18} \end{document} ]]></tex-math></disp-formula><p>Notice that the sub-formulas <inline-formula><tex-math id="math-319"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 , \ell } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-11">(11)</xref>–<xref ref-type="disp-formula" rid="equation-18">(18)</xref> exhaustively represent that the values in two adjacent cells <inline-formula><tex-math id="math-320"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-321"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> must be diferent. For example, the sub-formula <inline-formula><tex-math id="math-322"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 , 1 } \end{document} ]]></tex-math></inline-formula> means that the cell <inline-formula><tex-math id="math-323"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-324"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i - 1 , j - 1 ) \end{document} ]]></tex-math></inline-formula> are filled with diferent values. The upper and lower bounds for the indices i and j in <xref ref-type="disp-formula" rid="equation-11">(11)</xref>–<xref ref-type="disp-formula" rid="equation-18">(18)</xref> are adjusted to avoid the cells that are out of the grid <inline-formula><tex-math id="math-325"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( \mathrm { e . g . } , i < 1 , j < 1 , i > m , \mathrm { o r } j > n ) \end{document} ]]></tex-math></inline-formula></p><p>Finally, we obtain the formula <inline-formula><tex-math id="math-326"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> as defined in <xref ref-type="disp-formula" rid="equation-19">(19)</xref>, which conjuncts all sub-formulas in <xref ref-type="disp-formula" rid="equation-11">(11)</xref>–<xref ref-type="disp-formula" rid="equation-18">(18)</xref>:</p><disp-formula id="equation-19"><tex-math id="math-327"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi_ {3} \stackrel {{\text { def }}} {{=}} \phi_ {3, 1} \wedge \phi_ {3, 2} \wedge \phi_ {3, 3} \wedge \phi_ {3, 4} \wedge \phi_ {3, 5} \wedge \phi_ {3, 6} \wedge \phi_ {3, 7} \wedge \phi_ {3, 8}.\tag{19} \end{document} ]]></tex-math></disp-formula><p>This formula asserts that no two adjacent cells contain identical values. For practical purpose, we may define <inline-formula><tex-math id="math-328"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } = 0 \end{document} ]]></tex-math></inline-formula> for any v if <inline-formula><tex-math id="math-329"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle i < 1 , j < 1 , i > m , \mathrm { o r } j > n \end{document} ]]></tex-math></inline-formula> However, the implementation detail of the SAT solver might allow us to exclude the clause that corresponds to the cells that are not within the grid.</p><p>Determining the exact number of clauses in <inline-formula><tex-math id="math-330"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> is a little bit cumbersome because the number of clauses corresponding to a cell <inline-formula><tex-math id="math-331"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> depends on the number of neighbors of <inline-formula><tex-math id="math-332"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> . A cell might have three, five, or eight neighbor cells. Nevertheless, we can estimate an upper bound for the number of clauses by considering the fact that an empty cell has at most eight neighbors. The following lemma discusses the upper bound for the number of clauses in <inline-formula><tex-math id="math-333"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> and the number of literals in each clause.</p><p>Lemma <target id="anchor-85d49f41-3f59-40cf-b81e-063727d1138b" target-type="reference-target"/>3.3. <italic>The formula </italic><inline-formula><tex-math id="math-334"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula><italic> in </italic><xref ref-type="disp-formula" rid="equation-19">(19)</xref><italic> consists of no more than </italic><inline-formula><tex-math id="math-335"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } 8 \cdot s _ { k } ^ { 2 } \end{document} ]]></tex-math></inline-formula><italic> clauses where each clause has two literals.</italic></p><p><italic>Proof</italic>. We first analyze the number of literals for each clause in <inline-formula><tex-math id="math-336"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> defined in <xref ref-type="disp-formula" rid="equation-19">(19)</xref>. Notice that <inline-formula><tex-math id="math-337"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> is a conjunction of sub-formulas of the form <inline-formula><tex-math id="math-338"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 , \ell } \end{document} ]]></tex-math></inline-formula> defined in  <xref ref-type="disp-formula" rid="equation-11">(11)</xref>–<xref ref-type="disp-formula" rid="equation-18">(18)</xref>  Each of the sub-formulas <inline-formula><tex-math id="math-339"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 , \ell } \end{document} ]]></tex-math></inline-formula> is instantiated from the formula <inline-formula><tex-math id="math-340"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } ^ { \prime } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-10">(10)</xref> containing two literals. As a result, each clause in <inline-formula><tex-math id="math-341"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> has two literals.</p><p>For the number of clauses, notice that a cell has at most eight neighbors (see <xref ref-type="fig" rid="figure-3">Fig. 3</xref>). From the definition of <inline-formula><tex-math id="math-342"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } ^ { \prime } \end{document} ]]></tex-math></inline-formula> in <xref ref-type="disp-formula" rid="equation-10">(10)</xref>, for each pair of adjacent cells <inline-formula><tex-math id="math-343"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-344"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> , the number of clauses is at most given by <inline-formula><tex-math id="math-345"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } , \end{document} ]]></tex-math></inline-formula> , where <inline-formula><tex-math id="math-346"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k = \end{document} ]]></tex-math></inline-formula> min <inline-formula><tex-math id="math-347"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \{ r _ { i , j } , r _ { i ^ { \prime } , j ^ { \prime } } \} \le \end{document} ]]></tex-math></inline-formula><inline-formula><tex-math id="math-348"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle r _ { i , j } . \end{document} ]]></tex-math></inline-formula> Subsequently, by considering all possible pairs of adjacent cells <inline-formula><tex-math id="math-349"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-350"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i ^ { \prime } , j ^ { \prime } ) \end{document} ]]></tex-math></inline-formula> , ϕ3 contains no more than <inline-formula><tex-math id="math-351"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \begin{array} { r } { \dot { \sum _ { i = 1 } ^ { m } } \bar { \sum _ { j = 1 , k = r _ { i , j } } ^ { n } 8 \cdot s _ { k } } } \end{array} \end{document} ]]></tex-math></inline-formula> clauses. <inline-formula><tex-math id="math-352"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \mathrm { B y } \end{document} ]]></tex-math></inline-formula> observing that there are <inline-formula><tex-math id="math-353"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> cells in every region k (where <inline-formula><tex-math id="math-354"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> , we can further simplify this expression to <inline-formula><tex-math id="math-355"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } 8 \cdot s _ { k } ^ { 2 } \end{document} ]]></tex-math></inline-formula> □</p></sec></sec><sec id="sec-9"><title>3.2. The Number of Variables and Clauses</title><p>This section examines the number of variables and clauses required to solve a Suguru puzzle of size m×n using a SAT-based approach considering the SAT encodings mentioned earlier. The significance of this examination lies in its connection to the asymptotic time complexity of a SAT-based approach, which is determined by the number of variables and clauses present in the resulting propositional formulas <xref ref-type="bibr" rid="BIBR-42">[42]</xref>. Our analysis is also motivated by recent works (e.g., <xref ref-type="bibr" rid="BIBR-30">[30]</xref>, <xref ref-type="bibr" rid="BIBR-31">[31]</xref>), which consider the number of variables and clauses to evaluate their theoretical eficiency. The following theorem discusses this examination.</p><p>Theorem<target id="anchor-3205dee8-77d3-45be-9a1f-56bd4c6aaac0" target-type="reference-target"/> 3.4.<italic> The total number of clauses in formulas </italic><xref ref-type="disp-formula" rid="equation-6">(6)</xref><italic>, </italic><xref ref-type="disp-formula" rid="equation-9">(9)</xref><italic>, and </italic><xref ref-type="disp-formula" rid="equation-19">(19)</xref><italic> required for solving an m × n Suguru puzzle containing </italic><inline-formula><tex-math id="math-356"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle R \end{document} ]]></tex-math></inline-formula><italic> regions, where the size </italic><inline-formula><tex-math id="math-357"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle o f \end{document} ]]></tex-math></inline-formula><italic> each region k </italic><inline-formula><tex-math id="math-358"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula><italic> is </italic><inline-formula><tex-math id="math-359"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula><italic> , is bounded above by </italic><inline-formula><tex-math id="math-360"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m n { + } \sum _ { k = 1 } ^ { R } \left[ ( s _ { k } ^ { 2 } \cdot ( s _ { k } - 1 ) ) / 2 + 8 \cdot s _ { k } ^ { 2 } + s _ { k } \right]. \end{document} ]]></tex-math></inline-formula></p><p>Moreover, the number of variables for solving the aforementioned Suguru puzzle is <inline-formula><tex-math id="math-361"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } s _ { k } ^ { 2 } \end{document} ]]></tex-math></inline-formula></p><p><italic>Proof</italic>. We determine the number of clauses and variables by analyzing <inline-formula><tex-math id="math-362"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 } , \phi _ { 2 } \end{document} ]]></tex-math></inline-formula> , and <inline-formula><tex-math id="math-363"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> . Notice that each of these formulas utilizes all variables <inline-formula><tex-math id="math-364"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle g _ { i , j , v } \end{document} ]]></tex-math></inline-formula> for <inline-formula><tex-math id="math-365"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq i \leq m , 1 \leq \end{document} ]]></tex-math></inline-formula><inline-formula><tex-math id="math-366"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle j \leq n \end{document} ]]></tex-math></inline-formula> , and <inline-formula><tex-math id="math-367"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \le v \le s _ { k } \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-368"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k = r _ { i , j } \end{document} ]]></tex-math></inline-formula></p><p>First, we calculate the number of variables by considering the number of possible values for each cell <inline-formula><tex-math id="math-369"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( i , j ) \end{document} ]]></tex-math></inline-formula> in the puzzle. For a region <inline-formula><tex-math id="math-370"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \left( 1 \leq k \leq R \right) \end{document} ]]></tex-math></inline-formula> consisting of <inline-formula><tex-math id="math-371"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> cells, there are <inline-formula><tex-math id="math-372"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> possible values that can be filled into each cell. Therefore, each region k requires <inline-formula><tex-math id="math-373"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } ^ { 2 } \end{document} ]]></tex-math></inline-formula> variables to represent all possible value assignments; each assignment corresponds to a specific configuration. To obtain the total number of variables for all R regions, we sum up the variables needed for each region, resulting in <inline-formula><tex-math id="math-374"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } s _ { k } ^ { 2 } \end{document} ]]></tex-math></inline-formula></p><p>As for the number of clauses, we use the result from the previous lemmas for each constraint encoding:</p><p>(1) from Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-441081b1-62dd-4656-a449-577535fbc57c">3.1</xref>, <inline-formula><tex-math id="math-375"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 1 } \end{document} ]]></tex-math></inline-formula> consists of mn <inline-formula><tex-math id="math-376"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle + \textstyle \sum _ { k = 1 } ^ { R } ( s _ { k } ^ { 2 } \cdot ( s _ { k } - 1 ) ) / 2 \end{document} ]]></tex-math></inline-formula> clauses;</p><p>(2) from Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-03584b65-70f6-443f-af2d-edb787b831b0">3.2</xref>, <inline-formula><tex-math id="math-377"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 2 } \end{document} ]]></tex-math></inline-formula> consists of <inline-formula><tex-math id="math-378"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } \end{document} ]]></tex-math></inline-formula> sk clauses;</p><p>(3) from Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-85d49f41-3f59-40cf-b81e-063727d1138b">3.3</xref>, <inline-formula><tex-math id="math-379"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \phi _ { 3 } \end{document} ]]></tex-math></inline-formula> consists of at most <inline-formula><tex-math id="math-380"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } 8 \cdot s _ { k } ^ { 2 } \end{document} ]]></tex-math></inline-formula> clauses.</p><p>We obtain the upper bound for the total number of clauses in the resulting formula by adding the number of clauses from each lemma. □</p><p>The following corollary follows from Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-3205dee8-77d3-45be-9a1f-56bd4c6aaac0">3.4</xref>.</p><p>Corollary <target id="anchor-b96a146f-20b5-4dca-bf61-51da0770319b" target-type="reference-target"/>3.5. Suppose we consider an m <inline-formula><tex-math id="math-381"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \times \ n \end{document} ]]></tex-math></inline-formula> Suguru puzzle instance with R regions where each region contains <inline-formula><tex-math id="math-382"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> cells <inline-formula><tex-math id="math-383"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> . The total number of variables in the resulting formula for representing such an instance is bounded above by <inline-formula><tex-math id="math-384"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle O ( m ^ { 2 } n ^ { 2 } ) \end{document} ]]></tex-math></inline-formula> , while the total number of clauses in the resulting formula for representing the same instance is bounded above by <inline-formula><tex-math id="math-385"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle O ( m ^ { 3 } n ^ { 3 } ) \end{document} ]]></tex-math></inline-formula></p><p>Proof. For an m × n Suguru puzzle instance with R regions where each region contains <inline-formula><tex-math id="math-386"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> cells <inline-formula><tex-math id="math-387"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> , we have <inline-formula><tex-math id="math-388"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle R \leq m n \end{document} ]]></tex-math></inline-formula> and <inline-formula><tex-math id="math-389"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \le m n \end{document} ]]></tex-math></inline-formula> for each <inline-formula><tex-math id="math-390"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 \leq k \leq R \end{document} ]]></tex-math></inline-formula> We also notice that <inline-formula><tex-math id="math-391"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } s _ { k } = m n \end{document} ]]></tex-math></inline-formula> since <inline-formula><tex-math id="math-392"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \end{document} ]]></tex-math></inline-formula> represents the number of cells in a region <inline-formula><tex-math id="math-393"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle k \ ( 1 \leq k \leq R ) \end{document} ]]></tex-math></inline-formula> while mn represents the total number of cells in the grid. Since <inline-formula><tex-math id="math-394"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \geq 1 \end{document} ]]></tex-math></inline-formula> , we also have</p><disp-formula id="equation-20"><tex-math id="math-395"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \sum_ {k = 1} ^ {R} s _ {k} ^ {2} \leq \left(\sum_ {k = 1} ^ {R} s _ {k}\right) ^ {2} = (m n) ^ {2} = m ^ {2} n ^ {2}, \mathrm{and}\tag{20} \end{document} ]]></tex-math></disp-formula><disp-formula id="equation-21"><tex-math id="math-396"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \sum_ {k = 1} ^ {R} s _ {k} ^ {3} \leq \left(\sum_ {k = 1} ^ {R} s _ {k}\right) ^ {3} = (m n) ^ {3} = m ^ {3} n ^ {3}.\tag{21} \end{document} ]]></tex-math></disp-formula><p>By Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-3205dee8-77d3-45be-9a1f-56bd4c6aaac0">3.4</xref>. , the total number of variables for solving the instance is <inline-formula><tex-math id="math-397"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \textstyle \sum _ { k = 1 } ^ { R } s _ { k } ^ { 2 } \end{document} ]]></tex-math></inline-formula> , which is bounded above by <inline-formula><tex-math id="math-398"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle O ( m ^ { 2 } n ^ { 2 } ) \end{document} ]]></tex-math></inline-formula> according to <xref ref-type="disp-formula" rid="equation-20">(20)</xref>. To obtain the upper bound for the number of clauses, we notice that <inline-formula><tex-math id="math-399"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } ^ { 2 } \bar { ( } s _ { k } - 1 ) = s _ { k } ^ { 3 } - s _ { k } ^ { 2 } < s _ { k } ^ { 3 } \end{document} ]]></tex-math></inline-formula> if <inline-formula><tex-math id="math-400"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle s _ { k } \geq 1 \end{document} ]]></tex-math></inline-formula> and observe the following inequality</p><disp-formula id="equation-22"><tex-math id="math-401"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \begin{array}{l} m n + \sum_ {k = 1} ^ {R} \left[ (s _ {k} ^ {2} \cdot (s _ {k} - 1)) / 2 + 8 \cdot s _ {k} ^ {2} + s _ {k} \right] = m n + \sum_ {k = 1} ^ {R} \left[ (s _ {k} ^ {3} - s _ {k} ^ {2}) / 2 + 8 \cdot s _ {k} ^ {2} + s _ {k} \right] \\ < m n + \sum_ {k = 1} ^ {R} \left[ s _ {k} ^ {3} + 8 \cdot s _ {k} ^ {3} + s _ {k} ^ {3} \right] \\ = m n + 1 0 \sum_ {k = 1} ^ {R} s _ {k} ^ {3} \\ < m n + 1 0 \cdot m ^ {3} n ^ {3} (\text {by (21)}), \end{array} \end{document} ]]></tex-math></disp-formula><p>that <inline-formula><tex-math id="math-402"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle { \mathrm { i s } } , \end{document} ]]></tex-math></inline-formula> the number of clauses in all formulas is bounded above by <inline-formula><tex-math id="math-403"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle O ( m ^ { 3 } n ^ { 3 } ) \end{document} ]]></tex-math></inline-formula> □</p><p>The results in Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-b96a146f-20b5-4dca-bf61-51da0770319b">3.5</xref> infer that the total number of variables and clauses in our proposed encodings are polynomially proportional to the puzzle’s size. In particular, when considering a Suguru puzzle of size <inline-formula><tex-math id="math-404"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m \times n , \end{document} ]]></tex-math></inline-formula> , the total number of variables is bounded above by <inline-formula><tex-math id="math-405"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \bar { O } ( m ^ { 2 } n ^ { 2 } ) \end{document} ]]></tex-math></inline-formula> , while the total number of clauses is bounded above by <inline-formula><tex-math id="math-406"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle O ( m ^ { 3 } n ^ { 3 } ) \end{document} ]]></tex-math></inline-formula> . These imply that it is possible to transform a Suguru puzzle instance to a SAT problem instance using a polynomial-size transformation with respect to the input size. These theoretical results suggest that the SAT solver can be used to solve the Suguru puzzle eficiently if the construction of variables and clauses is made appropriately.</p><p>It is also important to note that the number of hints does not asymptotically afect the number of variables and clauses in the resulting formula. As stated earlier at the beginning of Section <xref ref-type="sec" rid="d436f280-0377-bb2c-afd4-efcdc784bde3">3.1</xref>, hints are represented as a conjunction of several atomic propositions associated with the pre-filled cells. Despite not afecting the asymptotic upper bound for the number of variables and clauses, the number of hints might potentially reduce the search space for the SAT solver in our SAT-based approach.</p></sec></sec><sec id="sec-10"><title>4. Computational Experiments: Design, Results, and Analysis</title><p>The results in Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-b96a146f-20b5-4dca-bf61-51da0770319b">3.5</xref> suggest that an instance of Suguru puzzles can be transformed into a SAT problem instance eficiently, thereby allowing one to find the solution to a Suguru instance using the SAT solver efectively. The main purpose of this section is to describe the design, results, and analysis of our computational experiments. Experiments were conducted to evaluate the running times of our proposed SAT-based approach against various test cases. These running times were also contrasted with the running times of the previous backtracking algorithm proposed in <xref ref-type="bibr" rid="BIBR-15">[15]</xref> to provide a performance benchmark and for comparative purposes.</p><p>The experiments used the same computational environment as in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>. Namely, we used a standard laptop with a 64-bit Windows 10 operating system equipped with an Intel(R) Core(TM) i7-1070H processor at 2.60 GHz and 16 GB of RAM. The SAT-based approach was implemented using MiniSat—a lightweight C++ library that provides a SAT solver interface and has historically been one of the most influential and widely studied SAT solvers. Although MiniSat is no longer actively maintained, it remains a popular choice for research and education purposes due to its simplicity and stable API. We selected MiniSat because it is implemented in C++, the same language used in <xref ref-type="bibr" rid="BIBR-15">[15]</xref> for the backtracking approach, ensuring objective and consistent performance evaluation between the two methods. MiniSat also provides a stable baseline with numerous examples and tools built around it. One should note that our main focus is on the SAT encoding rather than solver performance. However, we acknowledge that modern SAT solvers such as Glucose <xref ref-type="bibr" rid="BIBR-43">[43]</xref>, CaDiCaL <xref ref-type="bibr" rid="BIBR-44">[44]</xref>, or Kissat <xref ref-type="bibr" rid="BIBR-45">[45]</xref> could potentially ofer improved eficiency. Suguru rules and hints were represented using propositional formulas that were translated into MiniSat inputs.</p><p>As the experiments in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>, we considered the comprehensive 180 test cases collected from <xref ref-type="bibr" rid="BIBR-46">[46]</xref>. These test cases include Suguru puzzles of size <inline-formula><tex-math id="math-407"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-408"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 6 \leq n \leq 1 0 \end{document} ]]></tex-math></inline-formula> Of these test cases, 52 of them are of size <inline-formula><tex-math id="math-409"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 8 \times 8 . \end{document} ]]></tex-math></inline-formula> . In addition to these test cases, we also randomly generated 50 test cases for further evaluation. These additional test cases are of size <inline-formula><tex-math id="math-410"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-411"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 1 \leq n \leq 1 5 \end{document} ]]></tex-math></inline-formula> , hence introducing puzzles of larger sizes to the experiments. The hint cells in the additional test cases constitute no more than 40% of the total number of cells. All instances in the test cases, both from <xref ref-type="bibr" rid="BIBR-46">[46]</xref> and the additional ones, are guaranteed to have a unique solution.</p><p>The procedure for generating additional test cases with guaranteed unique solutions is as follows. We first generate random Suguru board structures of size <inline-formula><tex-math id="math-412"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-413"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 1 \leq n \leq 1 5 \end{document} ]]></tex-math></inline-formula> using a randomized breadth-first search algorithm to create connected regions of <inline-formula><tex-math id="math-414"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 4 - 8 \end{document} ]]></tex-math></inline-formula> cells in each structure. For each blank grid, we employ our SAT-based solver to find a complete solution, then apply a greedy hint minimization algorithm that iteratively removes filled cells while preserving solution uniqueness.</p><p>Uniqueness verification for an additional test case is performed using exhaustive SAT-based checking. The algorithm removes the hints one by one. After each hint removal, we solve the SAT instance to obtain the first solution, then add a constraint to exclude this solution, and attempt to solve the puzzle again. To check for another solution, we convert the first solution into a propositional formula, negate it, use the negated formula as a constraint, and try to find the second solution. If a second solution exists, the removed hint is restored as essential. The algorithm continues to remove hints until removing any additional one would result in a puzzle with multiple solutions. This way, the final puzzle is guaranteed to have exactly one solution. Our algorithm is also set so that the final puzzle contains at most 40% of cells as hints.</p><p>From multiple generation attempts across diferent board sizes, we successfully created 50 instances with a mathematically guaranteed unique solution. For each <inline-formula><tex-math id="math-415"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> board where <inline-formula><tex-math id="math-416"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 1 \leq n \leq 1 5 \end{document} ]]></tex-math></inline-formula> , we were able to construct 10 Suguru instances that have a unique solution with at most 40% of their cells as hints. The generation process involves multiple SAT solver calls for uniqueness verification, requiring substantial computational time that is separate from the puzzle-solving time, which is the main concern of our experimental investigation. The technical details of the method to generate a Suguru puzzle with a unique solution are described in <ext-link ext-link-type="uri" xlink:href="https://github.com/abcqwq/suguru-sat/tree/main/additional_testcases_generator" xlink:title="Additional testcases generator">Additional testcases generator</ext-link>.</p><p>We performed ten independent runs for each test case to obtain objective and accurate results regarding the running times for solving instances of Suguru puzzles. The measurements represent real elapsed times (wall clock times) observed during execution. It should be noted that the reported solving times measure only the time needed to solve the final puzzle with hints and do not include the time required to generate the puzzle. The running time data were then classified by grid size, and the average running time for each classification of Suguru puzzle instances was calculated. The C++ scripts, test cases, raw experimental results, and other relevant documents related to the experiment are available at <ext-link ext-link-type="uri" xlink:href="https://github.com/abcqwq/suguru-sat" xlink:title="Suguru sat">Suguru sat</ext-link>. Our interactive SAT-based Suguru puzzle solver available at <ext-link ext-link-type="uri" xlink:href="https://github.com/abcqwq/interactive-suguru-playground" xlink:title="Interactive suguru playground">Interactive suguru playground</ext-link>. </p><p>To provide an objective and comprehensive analysis, we also re-run the experiment in solving the Suguru puzzles using the backtracking approach explained in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>. Table <xref ref-type="table" rid="table-1">1</xref> summarizes and contrasts the running times needed for solving the Suguru puzzles using the backtracking approach in <xref ref-type="bibr" rid="BIBR-15">[15]</xref> and our proposed SATbased approach. Although there are some diferences between the results in [<xref ref-type="bibr" rid="BIBR-15">15</xref>, Table <xref ref-type="table" rid="table-1">1</xref>] and those in Table <xref ref-type="table" rid="table-1">1</xref> for the running times of the backtracking algorithm, their diferences are less than 10% and can be considered negligible. These diferences might occur due to some background processes in the computational device during the experiment. To provide more intuitive insight into the experimental results, we present and contrast the distribution of the running times for both backtracking and SAT-based approaches using boxplots in <xref ref-type="fig" rid="figure-4">Fig. 4</xref>.</p><p>From Table <xref ref-type="table" rid="table-1">1</xref>, we notice that the SAT-based approach solves all instances in less than 12 milliseconds. The data in Table <xref ref-type="table" rid="table-1">1</xref> and its representation in <xref ref-type="fig" rid="figure-4">Fig. 4</xref> indicate that the average running times of the SAT-based approach are less than that of the backtracking algorithm for larger puzzles, with crossover point as low as <inline-formula><tex-math id="math-417"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n = 1 1 \end{document} ]]></tex-math></inline-formula> . The running time variances of the SAT-based approach are also significantly smaller than those of the backtracking algorithm as indicated in <xref ref-type="fig" rid="figure-4">Fig. 4</xref>. As discussed in Section <xref ref-type="sec" rid="49dd24fc-6523-e76a-c9aa-1afe7ee2ef9a">3.2</xref>, the running time of our SAT-based approach does not directly depend on the number of hints—the main contributor to this running time is the size of the puzzle. On the other hand, the running time of the backtracking algorithm in <xref ref-type="bibr" rid="BIBR-15">[15]</xref> depends on the number of regions and hints, specifically the asymptotic running time for solving an m × n Suguru instance containing R regions and H hints is <inline-formula><tex-math id="math-418"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle O ( R \cdot ( m n - H + 2 ) ! ) \end{document} ]]></tex-math></inline-formula> (cf. [<xref ref-type="bibr" rid="BIBR-15">15</xref>, Corollary 1]).</p><p>Although the average running times for the SAT-based approach for solving the <inline-formula><tex-math id="math-419"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> puzzles where <inline-formula><tex-math id="math-420"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 6 \leq n \leq 1 0 \end{document} ]]></tex-math></inline-formula> are higher than those of the backtracking algorithm (with the exception for the <inline-formula><tex-math id="math-421"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 8 \times 8 \end{document} ]]></tex-math></inline-formula> puzzles), the maximum running times for solving the instances for SAT-based approach are less than those of the backtracking algorithm for the puzzles of sizes <inline-formula><tex-math id="math-422"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 6 \times 6 , 8 \times 8 \end{document} ]]></tex-math></inline-formula> , and <inline-formula><tex-math id="math-423"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 9 \times 9 \end{document} ]]></tex-math></inline-formula> . Moreover, one challenging instance of size <inline-formula><tex-math id="math-424"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 8 \times 8 \end{document} ]]></tex-math></inline-formula> that takes almost 480 milliseconds to be solved by the backtracking algorithm can be solved in under 2.5 milliseconds by the SATbased approach. This challenging instance—which is also discussed in [<xref ref-type="bibr" rid="BIBR-15">15</xref>, Fig. 7]—is depicted in <xref ref-type="fig" rid="figure-5">Fig. 5</xref>. In terms of the minimum running time, the data in Table <xref ref-type="table" rid="table-1">1</xref> shows that the SAT-based approach outperforms the backtracking algorithm for solving Suguru instances of sizes n × n where <inline-formula><tex-math id="math-425"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \geq 1 3 \end{document} ]]></tex-math></inline-formula>.</p><table-wrap id="table-1"><label>Table 1.</label><caption><p>Running times (in milliseconds) for 230 test cases taken by the backtracking algorithm (denoted by BT) proposed in <xref ref-type="bibr" rid="BIBR-15">[15]</xref> and SAT-based approach (denoted by SAT) proposed in this pa per. The min., max., and avg. respectively denote the minimum, maximum, and average running times for solving the puzzles for particular instances. The number of instances for each dimension is denoted by # TC.</p></caption><table><colgroup><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr><th scope="col" rowspan="2">Puzzle Size</th><th scope="col" rowspan="2"># TC</th><th scope="col" colspan="2">Min.</th><th scope="col" colspan="2">Max.</th><th scope="col" colspan="2">Avg.</th></tr><tr><th scope="col">BT</th><th scope="col">SAT</th><th scope="col">BT</th><th scope="col">SAT</th><th scope="col">BT</th><th scope="col">SAT</th></tr></thead><tbody><tr><td>6 × 6</td><td>42</td><td>0.024</td><td>0.837</td><td>3.677</td><td>1.053</td><td>0.243</td><td>0.918</td></tr><tr><td>7 × 7</td><td>24</td><td>0.032</td><td>1.275</td><td>0.595</td><td>1.574</td><td>0.119</td><td>1.402</td></tr><tr><td>8 × 8</td><td>52</td><td>0.038</td><td>1.714</td><td>474.484</td><td>2.136</td><td>11.761</td><td>1.903</td></tr><tr><td>9 × 9</td><td>24</td><td>0.093</td><td>2.596</td><td>21.586</td><td>3.038</td><td>1.837</td><td>2.819</td></tr><tr><td>10 × 10</td><td>38</td><td>0.137</td><td>3.501</td><td>3.876</td><td>4.020</td><td>1.084</td><td>3.703</td></tr><tr><td>11 × 11</td><td>10</td><td>1.294</td><td>4.514</td><td>517.712</td><td>5.536</td><td>111.622</td><td>5.008</td></tr><tr><td>12 × 12</td><td>10</td><td>3.478</td><td>5.652</td><td>684.979</td><td>6.776</td><td>193.156</td><td>6.007</td></tr><tr><td>13 × 13</td><td>10</td><td>7.768</td><td>7.113</td><td>19764.900</td><td>7.877</td><td>4146.783</td><td>7.336</td></tr><tr><td>14 × 14</td><td>10</td><td>24.439</td><td>8.078</td><td>88028.100</td><td>9.163</td><td>18835.462</td><td>8.606</td></tr><tr><td>15 × 15</td><td>10</td><td>61.329</td><td>9.119</td><td>573389.000</td><td>11.067</td><td>94464.486</td><td>10.000</td></tr></tbody></table></table-wrap><p>Based on the average running times data in Table <xref ref-type="table" rid="table-1">1</xref>—we see that, on average— our proposed SAT-based approach is at least around 20 times faster than the backtracking algorithm in solving the <inline-formula><tex-math id="math-426"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> puzzles for <inline-formula><tex-math id="math-427"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle 1 1 \leq n \leq 1 5 \end{document} ]]></tex-math></inline-formula> . Furthermore, based on the minimum running times data in Table <xref ref-type="table" rid="table-1">1</xref>, we see that the SAT-based approach is at least three times faster than the backtracking algorithm in solving the n × n puzzles for <inline-formula><tex-math id="math-428"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \in \{ 1 4 , 1 5 \} \end{document} ]]></tex-math></inline-formula> . Interesting results occur for the 15 × 15 puzzles, in which the SAT-based approach is at least six times faster than the backtracking algorithm for solving all instances and is up to 50 000 times faster than the backtracking algorithm for solving some specific instance.</p><p>One should note that unlike the backtracking technique proposed in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>, the number of regions, the number of hints cells, and the hint cells’ arrangement do not directly afect the asymptotic running time of our SAT-based approach. Based on these experimental results, we might infer that our SAT-based approach is more eficient for solving larger Suguru puzzles—although it is not always eficient in solving the smaller ones.</p><fig id="figure-4"><label>Figure 4.</label><caption><p>Boxplots  illustrating  the  running  time  distributionsof the backtracking algorithm and the SAT-based approach.</p></caption><long-desc>Foreach point on the horizontal axis, the left-side dashed boxplot rep-resents the running time distributions for the backtracking algo-rithm,  while  the  right-side  white  boxplot  represents  the  runningtime distributions for the SAT-based approach.</long-desc><graphic xlink:href="https://www.jims-a.org/index.php/jimsa/article/download/1939/540/13858" mime-subtype="jpeg" mimetype="image"><alt-text>Foreach point on the horizontal axis, the left-side dashed boxplot rep-resents the running time distributions for the backtracking algo-rithm,  while  the  right-side  white  boxplot  represents  the  runningtime distributions for the SAT-based approach.</alt-text></graphic></fig><fig id="figure-5"><label>Figure 5.</label><caption><p>A challenging Suguru instance in [<xref ref-type="bibr" rid="BIBR-15">15</xref>, Fig. 7], boldnumbers represent the hints.</p></caption><long-desc>(A) A challenging instance of a Suguru puzzle  (B) The solution to the Suguru instance in Fig. <xref ref-type="fig" rid="figure-5">5a</xref>.The SAT-based approach can solvethe instance in Fig<xref ref-type="fig" rid="figure-5"> 5a</xref> in less than 2.5 milliseconds (i.e., 1.849 ms).Such an instance also provides an example in which the SAT-basedapproach  outperforms  the  backtracking  technique  by  a  factor  ofapproximately 255 in terms of running time.</long-desc><graphic xlink:href="https://www.jims-a.org/index.php/jimsa/article/download/1939/540/13859" mime-subtype="png" mimetype="image"><alt-text>(A) A challenging instance of a Suguru puzzle  (B) The solution to the Suguru instance in Fig. 5a.The SAT-based approach can solvethe instance in Fig 5a in less than 2.5 milliseconds (i.e., 1.849 ms).Such an instance also provides an example in which the SAT-basedapproach  outperforms  the  backtracking  technique  by  a  factor  ofapproximately 255 in terms of running time.</alt-text></graphic></fig></sec><sec id="sec-11"><title>5. Concluding Remarks and Open Problems</title><p>In this paper, we have demonstrated an eficient SAT-based technique for solving general Suguru puzzles. We express the rules of Suguru puzzles in propositional formulas in CNF and discuss their properties regarding the number of variables, clauses, and literals. In Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-b96a146f-20b5-4dca-bf61-51da0770319b">3.5</xref>, we show that the number of variables and clauses in the resulting formulas is bounded above by some polynomials representing the puzzles’ sizes. Thus, our proposed encoding is polynomially proportional to the dimensions of the puzzles, which allows for the eficient transformation of Suguru instances into SAT problem instances. This encoding also provides a technique for reducing Suguru puzzles into SAT problems.</p><p>We utilize MiniSat, implemented in C++, for our experiments. Although MiniSat is no longer actively maintained, it remains widely used in research and educational contexts. For future research, we recommend implementing our SATbased approach using more eficient SAT solvers such as Glucose <xref ref-type="bibr" rid="BIBR-43">[43]</xref>, CaDiCaL <xref ref-type="bibr" rid="BIBR-44">[44]</xref>, or Kissat <xref ref-type="bibr" rid="BIBR-45">[45]</xref>. The results from such experiments could serve as benchmarks for evaluating algorithmic strategies in solving the Suguru puzzle.</p><p>The summary of experimental results in Table <xref ref-type="table" rid="table-1">1</xref> and <xref ref-type="fig" rid="figure-4">Fig. 4</xref> suggests that our proposed SAT-based approach outperforms the backtracking technique for solving larger puzzles in terms of running time, although it is not always eficient for solving smaller puzzles. We obtained a crossover point as low as <inline-formula><tex-math id="math-429"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n = 1 1 \end{document} ]]></tex-math></inline-formula> for the average running time—meaning that, on average, solving <inline-formula><tex-math id="math-430"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> Suguru puzzles using the SAT-based approach is faster than the backtracking technique for <inline-formula><tex-math id="math-431"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \geq 1 1 \end{document} ]]></tex-math></inline-formula> . In terms of the maximum running time, we also see that the SAT-based approach is always more eficient than the backtracking technique for solving <inline-formula><tex-math id="math-432"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> puzzles for <inline-formula><tex-math id="math-433"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \geq 1 1 \end{document} ]]></tex-math></inline-formula> . Moreover, based on the minimum running time, we see that the SAT-based approach is always faster than the backtracking one for solving <inline-formula><tex-math id="math-434"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> puzzles for <inline-formula><tex-math id="math-435"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \geq 1 3 \end{document} ]]></tex-math></inline-formula> . According to the experimental results, the running time variances of our proposed SAT-based technique are much smaller than those of the backtracking technique. These empirical outcomes support the theoretical result discussed in Section <xref ref-type="sec" rid="2032b174-b0d2-3e99-d892-6a572d9c95ad">3</xref>, which states that the main contributor to the running time of the SATbased approach is the dimension of the puzzle. Unlike the backtracking approach discussed in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>, the running time of our SAT-based approach does not directly depend on the number of hints, the positions of the hints, and the arrangements of the cells in a region. One should note that, despite the eficiency exhibited by the SAT-based approach for solving Suguru instances of larger sizes, the backtracking technique still prevails in solving smaller puzzles.</p><p>There are some interesting open problems related to solving Suguru puzzles. First, we do not prove the optimality of our SAT encoding technique. It might be possible to construct a SAT encoding that is more eficient (in terms of the number of variables and clauses) than our proposed encoding in Section <xref ref-type="sec" rid="d436f280-0377-bb2c-afd4-efcdc784bde3">3.1</xref>. A possible improvement can be made by considering a more eficient SAT encoding for the third rule, stating that no adjacent cells contain the same integers. Second, our experimental results are limited to <inline-formula><tex-math id="math-436"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle n \times n \end{document} ]]></tex-math></inline-formula> Suguru puzzles, even though the puzzles can be defined over rectangular grids <inline-formula><tex-math id="math-437"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m \times n \end{document} ]]></tex-math></inline-formula> where <inline-formula><tex-math id="math-438"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle m \neq n \end{document} ]]></tex-math></inline-formula> . The main reason for this is because our test cases are mainly taken from <xref ref-type="bibr" rid="BIBR-46">[46]</xref> (which is also used in <xref ref-type="bibr" rid="BIBR-15">[15]</xref>). One can consider additional experiments that use more diverse test cases by employing Suguru instances of size m × n where m <inline-formula><tex-math id="math-439"><![CDATA[ \documentclass{article} \usepackage{amsmath} \begin{document} \displaystyle \neq n , \end{document} ]]></tex-math></inline-formula> , and then can investigate the resulting empirical consequences concerning the theoretical results in Theorem <xref ref-type="custom" custom-type="reference-target" rid="anchor-b96a146f-20b5-4dca-bf61-51da0770319b">3.5</xref>. Third, our SAT-based algorithm can be used to construct a Suguru puzzle generation algorithm described in Section <xref ref-type="sec" rid="26b33501-ff6f-4584-f5c6-acd8dfc84085">4</xref>. Our current puzzle generation algorithm employs an exhaustive SAT-based checking approach, which requires a substantial amount of time to generate a puzzle with a unique solution. To our knowledge, investigations into the technique for constructing a Suguru puzzle with a unique solution are still underexplored. Finally, our SAT-based approach can also be modified to solve Suguru puzzle-related problems, such as counting the number of solutions for a given Suguru instance. To our knowledge, theoretical and computational problems related to counting the number of solutions for a Suguru puzzle instance remain an open problem.</p></sec></body><back><ack><title>Acknowledgment.</title><p>The authors would like to thank the anonymous reviewer(s) who provided the valuable feedback. Both authors are supported by Telkom University at the beginning of the research.</p></ack><ref-list><title>References</title><ref id="BIBR-1"><element-citation publication-type="webpage"><article-title>Number block</article-title><person-group person-group-type="author"><name><surname>Inaba</surname><given-names>N.</given-names></name></person-group><year>2001</year><comment>Accessed: 2023-06-19,</comment><ext-link xlink:href="https://inabapuzzle.com/honkaku/nblock.html" ext-link-type="uri" xlink:title="Honkaku">Honkaku</ext-link></element-citation></ref><ref id="BIBR-2"><element-citation publication-type="journal"><article-title>Physical zero-knowledge proof and NP-completeness proof of Suguru puzzle</article-title><source>Information and Computation</source><volume>285</volume><person-group person-group-type="author"><name><surname>Robert</surname><given-names>L.</given-names></name><name><surname>Miyahara</surname><given-names>D.</given-names></name><name><surname>Lafourcade</surname><given-names>P.</given-names></name><name><surname>Libralesso</surname><given-names>L.</given-names></name><name><surname>Mizuki</surname><given-names>T.</given-names></name></person-group><year>2022</year><page-range>104858,</page-range><ext-link xlink:href="https://doi" ext-link-type="uri" xlink:title="Website link">Website link</ext-link></element-citation></ref><ref id="BIBR-3"><element-citation publication-type="journal"><article-title>Calculation Solitaire is NP-Complete</article-title><source>IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences</source><volume>106</volume><issue>3</issue><person-group person-group-type="author"><name><surname>Iwamoto</surname><given-names>C.</given-names></name><name><surname>Ide</surname><given-names>T.</given-names></name></person-group><year>2023</year><page-range>328-332,</page-range><pub-id pub-id-type="doi">10.1587/transinf.2022fcl0002</pub-id></element-citation></ref><ref id="BIBR-4"><element-citation publication-type="journal"><article-title>Choco Banana is NP-complete</article-title><source>IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences</source><volume>107</volume><issue>9</issue><person-group person-group-type="author"><name><surname>Iwamoto</surname><given-names>C.</given-names></name><name><surname>Tokunaga</surname><given-names>T.</given-names></name></person-group><year>2024</year><page-range>1488-1491,</page-range><pub-id pub-id-type="doi">10.1587/transfun.2023dml0001</pub-id></element-citation></ref><ref id="BIBR-5"><element-citation publication-type="journal"><article-title>Polynomial-time reductions from 3SAT to Kurotto and Juosan puzzles</article-title><source>IEICE Transactions on Information and Systems</source><volume>103</volume><issue>3</issue><person-group person-group-type="author"><name><surname>Iwamoto</surname><given-names>C.</given-names></name><name><surname>Ibusuki</surname><given-names>T.</given-names></name></person-group><year>2020</year><page-range>500-505,</page-range><comment>doi: https : / / doi . org / 10 . 1587 / transinf . 2019fcp0004.</comment></element-citation></ref><ref id="BIBR-6"><element-citation publication-type="journal"><article-title>Path puzzles: Discrete tomography with a path constraint is hard</article-title><source>Graphs and Combinatorics</source><volume>36</volume><issue>2</issue><person-group person-group-type="author"><name><surname>Bosboom</surname><given-names>J.</given-names></name><name><surname>Demaine</surname><given-names>E.D.</given-names></name><name><surname>Demaine</surname><given-names>M.L.</given-names></name><name><surname>Hesterberg</surname><given-names>A.</given-names></name><name><surname>Kimball</surname><given-names>R.</given-names></name><name><surname>Kopinsky</surname><given-names>J.</given-names></name></person-group><year>2020</year><page-range>251-267,</page-range><pub-id pub-id-type="doi">10.1007/s00373-019-02092-5</pub-id></element-citation></ref><ref id="BIBR-7"><element-citation publication-type="journal"><article-title>Tatamibari is NP-Complete</article-title><source>10th International Conference on Fun with Algorithms (FUN 2021</source><volume>LIPIcs), vol. 157</volume><issue>1–1</issue><person-group person-group-type="author"><name><surname>Adler</surname><given-names>A.</given-names></name><name><surname>Bosboom</surname><given-names>J.</given-names></name><name><surname>Demaine</surname><given-names>E.D.</given-names></name><name><surname>Demaine</surname><given-names>M.L.</given-names></name><name><surname>Liu</surname><given-names>Q.C.</given-names></name><name><surname>Lynch</surname><given-names>J.</given-names></name></person-group><person-group person-group-type="editor"><name><surname>Farach-Colton</surname><given-names>M.</given-names></name><name><surname>Prencipe</surname><given-names>G.</given-names></name><name><surname>Uehara</surname><given-names>R.</given-names></name></person-group><year>2020</year><page-range>978-3-95977-145-0</page-range><publisher-name>Schloss Dagstuhl–Leibniz-Zentrum f ̈ur Informatik</publisher-name><publisher-loc>Dagstuhl, Germany</publisher-loc><pub-id pub-id-type="doi">10.4230/LIPIcs.FUN.2021.1</pub-id></element-citation></ref><ref id="BIBR-8"><element-citation publication-type="journal"><article-title>Five Cells and Tilepaint are NP-Complete</article-title><source>IEICE Transcations on Information and Systems</source><volume>105</volume><issue>3</issue><person-group person-group-type="author"><name><surname>Iwamoto</surname><given-names>C.</given-names></name><name><surname>Ide</surname><given-names>T.</given-names></name></person-group><year>2022</year><page-range>508-516,</page-range><pub-id pub-id-type="doi">10.1587/transinf.2021fcp0001</pub-id></element-citation></ref><ref id="BIBR-9"><element-citation publication-type="conf-paper"><article-title>Yin-Yang Puzzles are NP-complete</article-title><source>33rd Canadian Conference on Computational Geometry (CCCG</source><person-group person-group-type="author"><name><surname>Demaine</surname><given-names>E.D.</given-names></name><name><surname>Lynch</surname><given-names>J.</given-names></name><name><surname>Rudoy</surname><given-names>M.</given-names></name><name><surname>Uno</surname><given-names>Y.</given-names></name></person-group><year>2021</year></element-citation></ref><ref id="BIBR-10"><element-citation publication-type="conf-paper"><article-title>ZHED is NP-complete</article-title><source>Proceedings of the 34th Canadian Conference on Computational Geometry (CCCG 2022</source><person-group person-group-type="author"><name><surname>Saha</surname><given-names>S.</given-names></name><name><surname>Demaine</surname><given-names>E.D.</given-names></name></person-group><year>2022</year></element-citation></ref><ref id="BIBR-11"><element-citation publication-type="journal"><article-title>Solving Tatamibari Puzzle Using Exhaustive Search Approach</article-title><source>Indonesia Journal on Computing (Indo-JC</source><volume>7</volume><issue>3</issue><person-group person-group-type="author"><name><surname>Reinhard</surname><given-names>E.C.</given-names></name><name><surname>Arzaki</surname><given-names>M.</given-names></name><name><surname>Wulandari</surname><given-names>G.S.</given-names></name></person-group><year>2022</year><page-range>53-80,</page-range></element-citation></ref><ref id="BIBR-12"><element-citation publication-type="journal"><article-title>Solving Yin-Yang Puzzles Using Exhaustive Search and Prune-and-Search Algorithms</article-title><source>IJCSAM) International Journal of Computing Science and Applied Mathematics</source><volume>8</volume><issue>2</issue><person-group person-group-type="author"><name><surname>Putra</surname><given-names>M.I.</given-names></name><name><surname>Arzaki</surname><given-names>M.</given-names></name><name><surname>Wulandari</surname><given-names>G.S.</given-names></name></person-group><year>2022</year><page-range>52-65,</page-range><pub-id pub-id-type="doi">10.12962/j24775401.v8i2.13720</pub-id></element-citation></ref><ref id="BIBR-13"><element-citation publication-type="journal"><article-title>Note on Algorithmic Investigations of Juosan Puzzles</article-title><source>Jurnal Ilmu Komputer dan Informasi</source><volume>17</volume><issue>1</issue><person-group person-group-type="author"><name><surname>Ammar</surname><given-names>M.T.</given-names></name><name><surname>Arzaki</surname><given-names>M.</given-names></name><name><surname>Wulandari</surname><given-names>G.S.</given-names></name></person-group><year>2024</year><page-range>19-35,</page-range><pub-id pub-id-type="doi">10.21609/jiki.v17i1.1184</pub-id></element-citation></ref><ref id="BIBR-14"><element-citation publication-type="journal"><article-title>A Backtracking Approach for Solving Path Puzzles</article-title><source>Journal of Fundamental Mathematics and Applications (JFMA</source><volume>6</volume><issue>2</issue><person-group person-group-type="author"><name><surname>Sakti</surname><given-names>J.E.</given-names></name><name><surname>Arzaki</surname><given-names>M.</given-names></name><name><surname>Wulandari</surname><given-names>G.S.</given-names></name></person-group><year>2023</year><page-range>117-135,</page-range><pub-id pub-id-type="doi">10.14710/jfma.v6i2.18155</pub-id></element-citation></ref><ref id="BIBR-15"><element-citation publication-type="journal"><article-title>Elementary Algorithmic Methods for Solving Suguru Puzzles</article-title><source>IJCSAM) International Journal of Computing Science and Applied Mathematics</source><volume>10</volume><issue>1</issue><person-group person-group-type="author"><name><surname>Butrahandisya</surname><given-names>B.</given-names></name><name><surname>Arzaki</surname><given-names>M.</given-names></name><name><surname>Wulandari</surname><given-names>G.S.</given-names></name></person-group><year>2024</year><page-range>12-26,</page-range><pub-id pub-id-type="doi">10.12962/j24775401.v10i1.17249</pub-id></element-citation></ref><ref id="BIBR-16"><element-citation publication-type="journal"><article-title>Elementary Search-based Algorithms for Solving Tilepaint Puzzles</article-title><source>Indonesia Journal on Computing (Indo-JC</source><volume>8</volume><issue>2</issue><person-group person-group-type="author"><name><surname>Fridolin</surname><given-names>V.A.</given-names></name><name><surname>Arzaki</surname><given-names>M.</given-names></name><name><surname>Wulandari</surname><given-names>G.S.</given-names></name></person-group><year>2023</year><page-range>36-64,</page-range></element-citation></ref><ref id="BIBR-17"><element-citation publication-type="conf-paper"><article-title>The complexity of theorem-proving procedures</article-title><source>Proceedings of the third annual ACM symposium on Theory of computing</source><person-group person-group-type="author"><name><surname>Cook</surname><given-names>S.A.</given-names></name></person-group><year>1971</year><fpage>151</fpage><lpage>158</lpage><page-range>151-158</page-range><pub-id pub-id-type="doi">10.7551/mitpress/12274.003.0036</pub-id></element-citation></ref><ref id="BIBR-18"><element-citation publication-type="book"><article-title>Introduction to algorithms</article-title><person-group person-group-type="author"><name><surname>Cormen</surname><given-names>T.H.</given-names></name><name><surname>Leiserson</surname><given-names>C.E.</given-names></name><name><surname>Rivest</surname><given-names>R.L.</given-names></name><name><surname>Stein</surname><given-names>C.</given-names></name></person-group><year>2022</year><publisher-name>MIT press</publisher-name><edition>4th</edition></element-citation></ref><ref id="BIBR-19"><element-citation publication-type="conf-paper"><article-title>Reducibility among Combinatorial Problems</article-title><source>Complexity of Computer Computations: Proceedings of a symposium on the Complexity of Computer Computations</source><person-group person-group-type="author"><name><surname>Karp</surname><given-names>R.M.</given-names></name><name><surname>IBM Thomas J. Watson Research Center</surname></name></person-group><person-group person-group-type="editor"><name><surname>Miller</surname><given-names>R.E.</given-names></name><name><surname>Thatcher</surname><given-names>J.W.</given-names></name><name><surname>Bohlinger</surname><given-names>J.D.</given-names></name></person-group><year>1972</year><page-range>85-103,</page-range><publisher-name>Springer US</publisher-name><publisher-loc>Boston, MA</publisher-loc><comment>isbn: 978-1-4684-2001-2.</comment><pub-id pub-id-type="doi">10.1007/978-1-4684-2001-2</pub-id></element-citation></ref><ref id="BIBR-20"><element-citation publication-type="book"><article-title>Introduction to the Theory of Computation</article-title><person-group person-group-type="author"><name><surname>Sipser</surname><given-names>M.</given-names></name></person-group><year>2013</year><publisher-name>Cengage Learning</publisher-name><edition>3rd</edition></element-citation></ref><ref id="BIBR-21"><element-citation publication-type="book"><article-title>Planning as Satisfiability</article-title><source>ECAI, Citeseer</source><volume>92</volume><person-group person-group-type="author"><name><surname>Kautz</surname><given-names>H.A.</given-names></name><name><surname>Selman</surname><given-names>B.</given-names></name><etal/></person-group><year>1992</year><fpage>359</fpage><lpage>363</lpage><page-range>359-363</page-range></element-citation></ref><ref id="BIBR-22"><element-citation publication-type="conf-paper"><article-title>Theorem proving using lazy proof explication</article-title><source>Computer Aided Verification: 15th International Conference, CAV 2003</source><person-group person-group-type="author"><name><surname>Flanagan</surname><given-names>C.</given-names></name><name><surname>Joshi</surname><given-names>R.</given-names></name><name><surname>Ou</surname><given-names>X.</given-names></name><name><surname>Saxe</surname><given-names>J.B.</given-names></name></person-group><year>2003</year><fpage>355</fpage><lpage>367</lpage><page-range>355-367</page-range><publisher-name>Springer</publisher-name><publisher-loc>Boulder, CO, USA</publisher-loc><pub-id pub-id-type="doi">doi:</pub-id></element-citation></ref><ref id="BIBR-23"><element-citation publication-type="journal"><article-title>Handbook of satisfiability</article-title><source>IOS press</source><volume>185</volume><person-group person-group-type="author"><name><surname>Biere</surname><given-names>A.</given-names></name><name><surname>Heule</surname><given-names>M.</given-names></name><name><surname>Maaren</surname><given-names>H.</given-names></name></person-group><year>2009</year></element-citation></ref><ref id="BIBR-24"><element-citation publication-type="journal"><article-title>Robust Boolean reasoning for equivalence checking and functional property verification</article-title><source>IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems</source><volume>21</volume><issue>12</issue><person-group person-group-type="author"><name><surname>Kuehlmann</surname><given-names>A.</given-names></name><name><surname>Paruthi</surname><given-names>V.</given-names></name><name><surname>Krohm</surname><given-names>F.</given-names></name><name><surname>Ganai</surname><given-names>M.K.</given-names></name></person-group><year>2002</year><page-range>1377-1394,</page-range><pub-id pub-id-type="doi">10.1109/tcad.2002.804386</pub-id></element-citation></ref><ref id="BIBR-25"><element-citation publication-type="book"><article-title>Solving (Weighted) Partial MaxSAT by Dynamic Local Search for SAT</article-title><source>IJCAI</source><volume>7</volume><person-group person-group-type="author"><name><surname>Lei</surname><given-names>Z.</given-names></name><name><surname>Cai</surname><given-names>S.</given-names></name></person-group><year>2018</year><fpage>1346</fpage><lpage>52</lpage><page-range>1346-52</page-range><ext-link xlink:href="https://doi" ext-link-type="uri" xlink:title="Website link">Website link</ext-link></element-citation></ref><ref id="BIBR-26"><element-citation publication-type="conf-paper"><article-title>HordeSat: A massively parallel portfolio SAT solver</article-title><source>Theory and Applications of Satisfiability Testing–SAT 2015: 18th International Conference</source><person-group person-group-type="author"><name><surname>Balyo</surname><given-names>T.</given-names></name><name><surname>Sanders</surname><given-names>P.</given-names></name><name><surname>Sinz</surname><given-names>C.</given-names></name></person-group><year>2015</year><fpage>156</fpage><lpage>172</lpage><page-range>156-172</page-range><publisher-name>Springer</publisher-name><publisher-loc>Austin, TX, USA</publisher-loc><pub-id pub-id-type="doi">10.1007/978-3-319-24318-4</pub-id></element-citation></ref><ref id="BIBR-27"><element-citation publication-type="conf-paper"><article-title>Binary puzzle as a SAT problem</article-title><source>Proceedings of the 2017 Symposium on Information Theory and Signal Processing</source><person-group person-group-type="author"><name><surname>Utomo</surname><given-names>P.</given-names></name><name><surname>Pellikaan</surname><given-names>R.</given-names></name></person-group><year>2017</year><fpage>223</fpage><lpage>229</lpage><page-range>223-229</page-range><publisher-loc>Benelux</publisher-loc></element-citation></ref><ref id="BIBR-28"><element-citation publication-type="report"><article-title>Edge matching puzzles as hard SAT/CSP benchmarks (extended version</article-title><person-group person-group-type="author"><string-name>C. Ans ́otegui, R. B ́ejar, C. Fernandez, and C. Mateu</string-name></person-group><year>2008</year><publisher-name>Dept. of Computer Science, Universitat de Lleida</publisher-name></element-citation></ref><ref id="BIBR-29"><element-citation publication-type="conf-paper"><article-title>Fill-a-pix puzzle as a SAT problem</article-title><source>2019 International Conference on Advanced Information Technologies (ICAIT</source><person-group person-group-type="author"><name><surname>Myat</surname><given-names>A.M.</given-names></name><name><surname>Htwe</surname><given-names>K.K.</given-names></name><name><surname>Funabiki</surname><given-names>N.</given-names></name></person-group><year>2019</year><fpage>244</fpage><lpage>249</lpage><page-range>244-249</page-range><publisher-name>IEEE</publisher-name><pub-id pub-id-type="doi">10.1109/aitc.2019.8920898</pub-id></element-citation></ref><ref id="BIBR-30"><element-citation publication-type="conf-paper"><article-title>Eficient SAT-Based Approach for Solving Juosan Puzzles</article-title><source>International Conference on Mathematics: Pure, Applied and Computation</source><person-group person-group-type="author"><name><surname>Ammar</surname><given-names>M.T.</given-names></name><name><surname>Arzaki</surname><given-names>M.</given-names></name><name><surname>Wulandari</surname><given-names>G.S.</given-names></name></person-group><year>2023</year><fpage>211</fpage><lpage>226</lpage><page-range>211-226</page-range><publisher-name>Springer</publisher-name><pub-id pub-id-type="doi">10.1007/978-981-97-2136-8</pub-id></element-citation></ref><ref id="BIBR-31"><element-citation publication-type="conf-paper"><article-title>Modeling Path Puzzles as SAT Problems and How to Solve Them</article-title><source>International Conference on Mathematics: Pure, Applied and Computation</source><person-group person-group-type="author"><name><surname>Sakti</surname><given-names>J.E.</given-names></name><name><surname>Arzaki</surname><given-names>M.</given-names></name><name><surname>Wulandari</surname><given-names>G.S.</given-names></name></person-group><year>2023</year><fpage>227</fpage><lpage>245</lpage><page-range>227-245</page-range><publisher-name>Springer</publisher-name><pub-id pub-id-type="doi">10.1007/978-981-97-2136-8</pub-id></element-citation></ref><ref id="BIBR-32"><element-citation publication-type="thesis"><article-title>Generating and Solving Skyscrapers Puzzles Using a SAT Solver</article-title><person-group person-group-type="author"><name><surname>Kolijn</surname><given-names>L.</given-names></name></person-group><year>2022</year><publisher-name>Radboud University</publisher-name></element-citation></ref><ref id="BIBR-33"><element-citation publication-type="book"><article-title>Sudoku as a SAT Problem</article-title><source>AI&amp;M</source><person-group person-group-type="author"><name><surname>Lynce</surname><given-names>I.</given-names></name><name><surname>Ouaknine</surname><given-names>J.</given-names></name></person-group><year>2006</year></element-citation></ref><ref id="BIBR-34"><element-citation publication-type="webpage"><article-title>A Sudoku-Solver for Large Puzzles using SAT</article-title><person-group person-group-type="author"><name><surname>Pfeifer</surname><given-names>U.</given-names></name><name><surname>Karnagel</surname><given-names>T.</given-names></name><name><surname>Schefler</surname><given-names>G.</given-names></name></person-group><person-group person-group-type="editor"><name><surname>papers</surname><given-names>L.P.A.R.</given-names></name></person-group><year>2010</year><fpage>52</fpage><lpage>57</lpage><page-range>52-57</page-range><pub-id pub-id-type="doi">10.29007/79mc</pub-id></element-citation></ref><ref id="BIBR-35"><element-citation publication-type="book"><article-title>A SAT-based Sudoku solver</article-title><source>LPAR</source><person-group person-group-type="author"><name><surname>Weber</surname><given-names>T.</given-names></name></person-group><year>2005</year><fpage>11</fpage><lpage>15</lpage><page-range>11-15</page-range></element-citation></ref><ref id="BIBR-36"><element-citation publication-type="conf-paper"><article-title>Efective problem solving using SAT solvers</article-title><source>Maple Conference</source><person-group person-group-type="author"><name><surname>Bright</surname><given-names>C.</given-names></name><name><surname>Gerhard</surname><given-names>J.</given-names></name><name><surname>Kotsireas</surname><given-names>I.</given-names></name><name><surname>Ganesh</surname><given-names>V.</given-names></name></person-group><year>2019</year><fpage>205</fpage><lpage>219</lpage><page-range>205-219</page-range><publisher-name>Springer</publisher-name><pub-id pub-id-type="doi">10.1007/978-3-030-41258-6</pub-id></element-citation></ref><ref id="BIBR-37"><element-citation publication-type="book"><article-title>Mathematical Logic for Computer Science</article-title><person-group person-group-type="author"><name><surname>Ben-Ari</surname><given-names>M.</given-names></name></person-group><year>2012</year><publisher-name>Springer Science &amp; Business Media</publisher-name><edition>3rd</edition></element-citation></ref><ref id="BIBR-38"><element-citation publication-type="journal"><article-title>Logic in Computer Science: Modelling and Reasoning about Systems</article-title><person-group person-group-type="author"><name><surname>Huth</surname><given-names>M.</given-names></name><name><surname>Ryan</surname><given-names>M.</given-names></name></person-group><edition>2nd</edition><comment>Cambridge university press, 2004.</comment></element-citation></ref><ref id="BIBR-39"><element-citation publication-type="conf-paper"><article-title>Faster k-sat algorithms using biased-PPSZ</article-title><source>Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing</source><person-group person-group-type="author"><name><surname>Hansen</surname><given-names>T.D.</given-names></name><name><surname>Kaplan</surname><given-names>H.</given-names></name><name><surname>Zamir</surname><given-names>O.</given-names></name><name><surname>Zwick</surname><given-names>U.</given-names></name></person-group><year>2019</year><fpage>578</fpage><lpage>589</lpage><page-range>578-589</page-range><pub-id pub-id-type="doi">10.1145/3313276.3316359</pub-id></element-citation></ref><ref id="BIBR-40"><element-citation publication-type="book"><article-title>Discrete Mathematics and Its Applications</article-title><person-group person-group-type="author"><name><surname>Rosen</surname><given-names>K.H.</given-names></name></person-group><year>2019</year><page-range>0072424346</page-range><publisher-name>McGraw-Hill Higher Education</publisher-name><edition>8th</edition></element-citation></ref><ref id="BIBR-41"><element-citation publication-type="report"><article-title>An eficient encoding of the at-most-one constraint</article-title><person-group person-group-type="author"><string-name>S. H ̈olldobler and V.-H. Nguyen</string-name></person-group><year>2013</year><publisher-name>Technische Universit ̈aat Dresden</publisher-name></element-citation></ref><ref id="BIBR-42"><element-citation publication-type="webpage"><article-title>Modern SAT solvers: fast, neat and underused</article-title><person-group person-group-type="author"><string-name>M. Hoˇreˇnovsk ́y</string-name></person-group><comment>part 3 of N),</comment><ext-link xlink:href="https://codingnest.com/modernsatsolversfastneatandunderused-part-3-of-n/" ext-link-type="uri" xlink:title="Modernsatsolversfastneatandunderused part 3 of n">Modernsatsolversfastneatandunderused part 3 of n</ext-link></element-citation></ref><ref id="BIBR-43"><element-citation publication-type="book"><article-title>Predicting Learnt Clauses Quality in Modern SAT Solvers</article-title><source>IJCAI</source><volume>9</volume><person-group person-group-type="author"><name><surname>Audemard</surname><given-names>G.</given-names></name><name><surname>Simon</surname><given-names>L.</given-names></name></person-group><year>2009</year><fpage>399</fpage><lpage>404</lpage><page-range>399-404</page-range></element-citation></ref><ref id="BIBR-44"><element-citation publication-type="conf-paper"><article-title>CaDi-CaL 2.0</article-title><source>International Conference on Computer Aided Verification</source><person-group person-group-type="author"><name><surname>Biere</surname><given-names>A.</given-names></name><name><surname>Faller</surname><given-names>T.</given-names></name><name><surname>Fazekas</surname><given-names>K.</given-names></name><name><surname>Fleury</surname><given-names>M.</given-names></name><name><surname>Froleyks</surname><given-names>N.</given-names></name><name><surname>Pollitt</surname><given-names>F.</given-names></name></person-group><year>2024</year><fpage>133</fpage><lpage>152</lpage><page-range>133-152</page-range><publisher-name>Springer</publisher-name></element-citation></ref><ref id="BIBR-45"><element-citation publication-type="conf-paper"><article-title>CaDiCaL, Kissat, Paracooba, Plingeling and Treengeling entering the SAT Competition 2020</article-title><source>Proc. of SAT Competition 2020</source><person-group person-group-type="author"><name><surname>Biere</surname><given-names>A.</given-names></name><name><surname>Fazekas</surname><given-names>K.</given-names></name><name><surname>Fleury</surname><given-names>M.</given-names></name><name><surname>Heisinger</surname><given-names>M.</given-names></name></person-group><person-group person-group-type="editor"><string-name>Solver and Benchmark Descriptions, T. Balyo, N. Froleyks, M. Heule, M. Iser, M. J ̈arvisalo, and M. Suda, Eds</string-name></person-group><year>2020</year><fpage>51</fpage><lpage>53</lpage><page-range>51-53</page-range><publisher-name>University of Helsinki</publisher-name></element-citation></ref><ref id="BIBR-46"><element-citation publication-type="webpage"><article-title>Suguru</article-title><person-group person-group-type="author"><name><surname>Janko</surname><given-names>O.</given-names></name></person-group><year>2022</year><comment>Accessed: 2022-10-11,</comment><ext-link xlink:href="https://www.janko.at/Raetsel/Suguru/index.htm" ext-link-type="uri" xlink:title="Suguru">Suguru</ext-link></element-citation></ref></ref-list><fn-group><fn id="fn-1"><p>We refrain from formally defining the  notion  of  “hard”  and  “easy”  in  this  introduction,  but“hard” informally refers to the condition in which no polynomial time algorithm is known to solvesuch a problem in general settings.  “Easy” means that the solution to such a problem can befound in polynomial time.</p></fn><fn id="fn-2"><p>Recall that, informally, we call a computational problem hard  if there is no known polynomialtime algorithm to solve such a problem.</p></fn></fn-group></back></article>