{"id":1123,"date":"2026-06-29T10:51:48","date_gmt":"2026-06-28T22:51:48","guid":{"rendered":"https:\/\/thesudoku.com\/blog\/?page_id=1123"},"modified":"2026-07-08T15:56:45","modified_gmt":"2026-07-08T03:56:45","slug":"forcing-chains","status":"publish","type":"page","link":"https:\/\/thesudoku.com\/blog\/forcing-chains\/","title":{"rendered":"Forcing Chains"},"content":{"rendered":"\n<div class=\"wp-block-group content-wrapper has-base-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"min-height:90vh;margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40);padding-top:0;padding-bottom:0\">\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-b5150c35 wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:0;padding-left:var(--wp--preset--spacing--40)\">\n<p class=\"is-style-default\" style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.392), 18px);font-style:normal;font-weight:700\"><a data-type=\"page\" data-id=\"73\" href=\"https:\/\/thesudoku.com\/blog\/sudoku-rules-normal\/\">&lt; <\/a><a href=\"https:\/\/thesudoku.com\/sudoku-rules-expert\/\">Back<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-8dd13e6d wp-block-group-is-layout-constrained\" style=\"padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)\">\n<p class=\"is-style-text-display is-style-text-display--1\" style=\"font-size:clamp(17.905px, 1.119rem + ((1vw - 3.2px) * 0.99), 28px);font-style:normal;font-weight:800\"><strong>Forcing Chains &amp; Cycles: Advanced Sudoku Logic<\/strong><\/p>\n\n\n\n<p> A <strong>Forcing Chain<\/strong> is an advanced Sudoku solving technique that follows a single thread of &#8220;is \/ isn&#8217;t&#8221; (true \/ false) deductions across a mental, frozen copy of the grid. Nothing is ever permanently filled in or erased while building the chain\u2014every link is purely an &#8220;if-then&#8221; inference, and the base Sudoku grid you read from never changes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Two Types of Links<\/h3>\n\n\n\n<p>Each step in a Forcing Chain relies on the simplest possible logical inferences:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>When a candidate is placed (ON):<\/strong> The same digit immediately switches OFF in every cell that sees it (sharing the same row, column, or 3&#215;3 box), and all other candidates in its own cell switch OFF too.<\/li>\n\n\n\n<li><strong>When a candidate is eliminated (OFF):<\/strong> It can force another candidate to switch ON. This happens when a cell has only one candidate left (a <em>Naked Single<\/em>), or a digit has only one place left in a row, column, or box (a <em>Hidden Single<\/em>).<\/li>\n<\/ul>\n\n\n\n<p>Strung together, these deductions alternate in a strict <strong>ON-OFF-ON-OFF<\/strong> sequence. Because each link has exactly one cause, it forms a clean, single line of reasoning, never a tangled branching web.<\/p>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<figure class=\"wp-block-image aligncenter size-full is-style-default\" style=\"margin-top:var(--wp--preset--spacing--30);margin-right:0;margin-bottom:0;margin-left:0\"><img loading=\"lazy\" decoding=\"async\" width=\"1714\" height=\"976\" src=\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png\" alt=\"\" class=\"wp-image-1151\" style=\"aspect-ratio:1.75625098285894;object-fit:cover\" srcset=\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png 1714w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228-300x171.png 300w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228-1024x583.png 1024w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228-768x437.png 768w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228-1536x875.png 1536w\" sizes=\"auto, (max-width: 1714px) 100vw, 1714px\" \/><\/figure>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\"\/>\n\n\n\n<p><strong>Two Ways Forcing Chains Lead to Eliminations<\/strong><\/p>\n\n\n\n<p>Building this chain pays off in one of two major ways:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Self-Contradiction<\/h3>\n\n\n\n<p>A forcing chain can definitively settle a candidate. Start from one candidate and assume it is placed (ON). Follow the logical thread. If the chain loops around and forces that very same candidate to be removed (OFF), your initial assumption is self-contradictory. Therefore, the candidate is definitively false and can be eliminated. <em>Note: The mirror image also applies\u2014an assumption that a candidate is &#8220;removed&#8221; which forces it to be &#8220;placed&#8221; confirms that candidate as the correct solution.<\/em><\/p>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<figure class=\"wp-block-image aligncenter size-full is-style-default\" style=\"margin-top:var(--wp--preset--spacing--30);margin-right:0;margin-bottom:0;margin-left:0\"><img loading=\"lazy\" decoding=\"async\" width=\"1714\" height=\"976\" src=\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/06\/Group-30229-1.png\" alt=\"\" class=\"wp-image-1126\" style=\"object-fit:cover\" srcset=\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/06\/Group-30229-1.png 1714w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/06\/Group-30229-1-300x171.png 300w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/06\/Group-30229-1-1024x583.png 1024w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/06\/Group-30229-1-768x437.png 768w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/06\/Group-30229-1-1536x875.png 1536w\" sizes=\"auto, (max-width: 1714px) 100vw, 1714px\" \/><\/figure>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\"\/>\n\n\n\n<p>2. The Bidirectional Cycle (Continuous Loop)<\/p>\n\n\n\n<p>Sometimes, the chain bites its own tail and closes into a continuous loop. A loop like this can be filled in only two possible ways, and the two are exact mirror images: every spot that holds a digit in the first arrangement is empty in the second, and vice versa. One of the two ways is the real solution\u2014you just don&#8217;t know which one yet.<\/p>\n\n\n\n<p>But that\u2019s all you need. Take any uncolored candidate outside the loop and ask:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the first arrangement, does the loop put its digit in a cell that attacks this candidate?<\/li>\n\n\n\n<li>In the second arrangement, does the loop do the same?<\/li>\n<\/ul>\n\n\n\n<p>If the answer is <strong>yes both times<\/strong>, the candidate is dead either way and can be safely eliminated. If only one arrangement attacks it, it is safe, because it survives in the other scenario.<\/p>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<figure class=\"wp-block-image aligncenter size-full is-style-default\" style=\"margin-top:var(--wp--preset--spacing--30);margin-right:0;margin-bottom:0;margin-left:0\"><img loading=\"lazy\" decoding=\"async\" width=\"1714\" height=\"976\" src=\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30230.png\" alt=\"\" class=\"wp-image-1152\" style=\"object-fit:cover\" srcset=\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30230.png 1714w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30230-300x171.png 300w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30230-1024x583.png 1024w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30230-768x437.png 768w, https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30230-1536x875.png 1536w\" sizes=\"auto, (max-width: 1714px) 100vw, 1714px\" \/><\/figure>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\"\/>\n\n\n\n<p>The Three Flavors of Cycles<\/p>\n\n\n\n<p>When a Forcing Chain closes into a loop, it forms a cycle. These come in three flavors, named for the kind of links they are built from:<\/p>\n\n\n\n<p><strong>XY-Cycle (Bidirectional Cycle):<\/strong> The most general loop, which freely mixes both X and Y kinds of links at once.<\/p>\n\n\n\n<p><strong>X-Cycle (Fishy Cycle \/ Bilocation Cycle):<\/strong> The loop rides a single digit, hopping between cells where that digit has only two possible places in a row, column, or box. The smallest one, a four-cell loop, is exactly a Generalized X-Wing.<\/p>\n\n\n\n<p><strong>Y-Cycle (Bivalue Cycle \/ Forcing Loop):<\/strong> The loop passes only through two-candidate cells (bi-value cells), switching between a cell&#8217;s two digits as it goes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\"\/>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignwide is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-7f2ee5f7 wp-block-group-is-layout-flex\" style=\"padding-top:0;padding-right:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)\">\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.392), 18px);font-style:normal;font-weight:600\"><a data-type=\"page\" data-id=\"447\" href=\"https:\/\/thesudoku.com\/blog\/hidden-pairs\/\">&lt; <\/a><a href=\"https:\/\/beta.thesudoku.com\/blog\/2-string-kite\/\">Dual <\/a><a href=\"https:\/\/beta.thesudoku.com\/blog\/dual-medusa\/\">Medusa<\/a><\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.392), 18px);font-style:normal;font-weight:600\"><a href=\"https:\/\/thesudoku.com\/nishio\/\">Nishio <\/a><a href=\"https:\/\/thesudoku.com\/forcing-chains\/\">&gt;<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt; Back Forcing Chains &amp; Cycles: Advanced Sudoku Logic A Forcing Chain is an advanced Sudoku solving technique that follows a single thread of &#8220;is \/ isn&#8217;t&#8221; (true \/ false) deductions across a mental, frozen copy of the grid. Nothing is ever permanently filled in or erased while building the chain\u2014every link is purely an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-no-title","meta":{"footnotes":""},"categories":[116],"tags":[],"class_list":["post-1123","page","type-page","status-publish","hentry","category-master-techniques"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Forcing Chains - TheSudoku.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thesudoku.com\/blog\/forcing-chains\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Forcing Chains - TheSudoku.com\" \/>\n<meta property=\"og:description\" content=\"&lt; Back Forcing Chains &amp; Cycles: Advanced Sudoku Logic A Forcing Chain is an advanced Sudoku solving technique that follows a single thread of &#8220;is \/ isn&#8217;t&#8221; (true \/ false) deductions across a mental, frozen copy of the grid. Nothing is ever permanently filled in or erased while building the chain\u2014every link is purely an [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thesudoku.com\/blog\/forcing-chains\/\" \/>\n<meta property=\"og:site_name\" content=\"TheSudoku.com\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-08T03:56:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1714\" \/>\n\t<meta property=\"og:image:height\" content=\"976\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thesudoku.com\/blog\/forcing-chains\/\",\"url\":\"https:\/\/thesudoku.com\/blog\/forcing-chains\/\",\"name\":\"Forcing Chains - TheSudoku.com\",\"isPartOf\":{\"@id\":\"https:\/\/thesudoku.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/thesudoku.com\/blog\/forcing-chains\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/thesudoku.com\/blog\/forcing-chains\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png\",\"datePublished\":\"2026-06-28T22:51:48+00:00\",\"dateModified\":\"2026-07-08T03:56:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/thesudoku.com\/blog\/forcing-chains\/#breadcrumb\"},\"inLanguage\":\"en-NZ\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thesudoku.com\/blog\/forcing-chains\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-NZ\",\"@id\":\"https:\/\/thesudoku.com\/blog\/forcing-chains\/#primaryimage\",\"url\":\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png\",\"contentUrl\":\"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png\",\"width\":1714,\"height\":976},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/thesudoku.com\/blog\/forcing-chains\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/thesudoku.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Forcing Chains\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thesudoku.com\/blog\/#website\",\"url\":\"https:\/\/thesudoku.com\/blog\/\",\"name\":\"TheSudoku.com\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thesudoku.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-NZ\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Forcing Chains - TheSudoku.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thesudoku.com\/blog\/forcing-chains\/","og_locale":"en_US","og_type":"article","og_title":"Forcing Chains - TheSudoku.com","og_description":"&lt; Back Forcing Chains &amp; Cycles: Advanced Sudoku Logic A Forcing Chain is an advanced Sudoku solving technique that follows a single thread of &#8220;is \/ isn&#8217;t&#8221; (true \/ false) deductions across a mental, frozen copy of the grid. Nothing is ever permanently filled in or erased while building the chain\u2014every link is purely an [&hellip;]","og_url":"https:\/\/thesudoku.com\/blog\/forcing-chains\/","og_site_name":"TheSudoku.com","article_modified_time":"2026-07-08T03:56:45+00:00","og_image":[{"width":1714,"height":976,"url":"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/thesudoku.com\/blog\/forcing-chains\/","url":"https:\/\/thesudoku.com\/blog\/forcing-chains\/","name":"Forcing Chains - TheSudoku.com","isPartOf":{"@id":"https:\/\/thesudoku.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thesudoku.com\/blog\/forcing-chains\/#primaryimage"},"image":{"@id":"https:\/\/thesudoku.com\/blog\/forcing-chains\/#primaryimage"},"thumbnailUrl":"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png","datePublished":"2026-06-28T22:51:48+00:00","dateModified":"2026-07-08T03:56:45+00:00","breadcrumb":{"@id":"https:\/\/thesudoku.com\/blog\/forcing-chains\/#breadcrumb"},"inLanguage":"en-NZ","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thesudoku.com\/blog\/forcing-chains\/"]}]},{"@type":"ImageObject","inLanguage":"en-NZ","@id":"https:\/\/thesudoku.com\/blog\/forcing-chains\/#primaryimage","url":"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png","contentUrl":"https:\/\/thesudoku.com\/blog\/wp-content\/uploads\/2026\/07\/Group-30228.png","width":1714,"height":976},{"@type":"BreadcrumbList","@id":"https:\/\/thesudoku.com\/blog\/forcing-chains\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thesudoku.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Forcing Chains"}]},{"@type":"WebSite","@id":"https:\/\/thesudoku.com\/blog\/#website","url":"https:\/\/thesudoku.com\/blog\/","name":"TheSudoku.com","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thesudoku.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-NZ"}]}},"_links":{"self":[{"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/pages\/1123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/comments?post=1123"}],"version-history":[{"count":6,"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/pages\/1123\/revisions"}],"predecessor-version":[{"id":1173,"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/pages\/1123\/revisions\/1173"}],"wp:attachment":[{"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/media?parent=1123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/categories?post=1123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thesudoku.com\/blog\/wp-json\/wp\/v2\/tags?post=1123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}